// operators/AllOps.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.// Tests all operators on all primitive data types// to show which ones are accepted by the Java compilerpublic class AllOps {// To accept the results of a boolean test:void f(boolean b) {}void boolTest(boolean x, boolean y) {// Arithmetic operators://- x = x * y;//- x = x / y;//- x = x % y;//- x = x + y;//- x = x - y;//- x++;//- x--;//- x = +y;//- x = -y;// Relational and logical://- f(x > y);//- f(x >= y);//- f(x < y);//- f(x <= y);f(x == y);f(x != y);f(!y);x = x && y;x = x || y;// Bitwise operators://- x = ~y;x = x & y;x = x | y;x = x ^ y;//- x = x << 1;//- x = x >> 1;//- x = x >>> 1;// Compound assignment://- x += y;//- x -= y;//- x *= y;//- x /= y;//- x %= y;//- x <<= 1;//- x >>= 1;//- x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- char c = (char)x;//- byte b = (byte)x;//- short s = (short)x;//- int i = (int)x;//- long l = (long)x;//- float f = (float)x;//- double d = (double)x;}void charTest(char x, char y) {// Arithmetic operators:x = (char)(x * y);x = (char)(x / y);x = (char)(x % y);x = (char)(x + y);x = (char)(x - y);x++;x--;x = (char) + y;x = (char) - y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators:x= (char)~y;x = (char)(x & y);x = (char)(x | y);x = (char)(x ^ y);x = (char)(x << 1);x = (char)(x >> 1);x = (char)(x >>> 1);// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;x <<= 1;x >>= 1;x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- boolean bl = (boolean)x;byte b = (byte)x;short s = (short)x;int i = (int)x;long l = (long)x;float f = (float)x;double d = (double)x;}void byteTest(byte x, byte y) {// Arithmetic operators:x = (byte)(x* y);x = (byte)(x / y);x = (byte)(x % y);x = (byte)(x + y);x = (byte)(x - y);x++;x--;x = (byte) + y;x = (byte) - y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators:x = (byte)~y;x = (byte)(x & y);x = (byte)(x | y);x = (byte)(x ^ y);x = (byte)(x << 1);x = (byte)(x >> 1);x = (byte)(x >>> 1);// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;x <<= 1;x >>= 1;x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;short s = (short)x;int i = (int)x;long l = (long)x;float f = (float)x;double d = (double)x;}void shortTest(short x, short y) {// Arithmetic operators:x = (short)(x * y);x = (short)(x / y);x = (short)(x % y);x = (short)(x + y);x = (short)(x - y);x++;x--;x = (short) + y;x = (short) - y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators:x = (short) ~ y;x = (short)(x & y);x = (short)(x | y);x = (short)(x ^ y);x = (short)(x << 1);x = (short)(x >> 1);x = (short)(x >>> 1);// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;x <<= 1;x >>= 1;x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;byte b = (byte)x;int i = (int)x;long l = (long)x;float f = (float)x;double d = (double)x;}void intTest(int x, int y) {// Arithmetic operators:x = x * y;x = x / y;x = x % y;x = x + y;x = x - y;x++;x--;x = +y;x = -y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators:x = ~y;x = x & y;x = x | y;x = x ^ y;x = x << 1;x = x >> 1;x = x >>> 1;// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;x <<= 1;x >>= 1;x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;byte b = (byte)x;short s = (short)x;long l = (long)x;float f = (float)x;double d = (double)x;}void longTest(long x, long y) {// Arithmetic operators:x = x * y;x = x / y;x = x % y;x = x + y;x = x - y;x++;x--;x = +y;x = -y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators:x = ~y;x = x & y;x = x | y;x = x ^ y;x = x << 1;x = x >> 1;x = x >>> 1;// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;x <<= 1;x >>= 1;x >>>= 1;x &= y;x ^= y;x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;byte b = (byte)x;short s = (short)x;int i = (int)x;float f = (float)x;double d = (double)x;}void floatTest(float x, float y) {// Arithmetic operators:x = x * y;x = x / y;x = x % y;x = x + y;x = x - y;x++;x--;x = +y;x = -y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators://- x = ~y;//- x = x & y;//- x = x | y;//- x = x ^ y;//- x = x << 1;//- x = x >> 1;//- x = x >>> 1;// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;//- x <<= 1;//- x >>= 1;//- x >>>= 1;//- x &= y;//- x ^= y;//- x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;byte b = (byte)x;short s = (short)x;int i = (int)x;long l = (long)x;double d = (double)x;}void doubleTest(double x, double y) {// Arithmetic operators:x = x * y;x = x / y;x = x % y;x = x + y;x = x - y;x++;x--;x = +y;x = -y;// Relational and logical:f(x > y);f(x >= y);f(x < y);f(x <= y);f(x == y);f(x != y);//- f(!x);//- f(x && y);//- f(x || y);// Bitwise operators://- x = ~y;//- x = x & y;//- x = x | y;//- x = x ^ y;//- x = x << 1;//- x = x >> 1;//- x = x >>> 1;// Compound assignment:x += y;x -= y;x *= y;x /= y;x %= y;//- x <<= 1;//- x >>= 1;//- x >>>= 1;//- x &= y;//- x ^= y;//- x |= y;// Casting://- boolean bl = (boolean)x;char c = (char)x;byte b = (byte)x;short s = (short)x;int i = (int)x;long l = (long)x;float f = (float)x;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。