public class Operator {
private static void f(boolean b) {
System.out.println(b);
}
public static void main(String[] args) {
int x = 1;
int y = 1;
//运算优先级
//单操作数运算符
//算术运算符
//移位运算符
//比较运算符
//逻辑运算符
//条件运算符
//赋值运算符
x = x * y;System.out.println(x);//x=1,y=1
x = x / y;System.out.println(x);//x=1,y=1
x = x % y;System.out.println(x);//x=0,y=1
x = x + y;System.out.println(x);//x=1,y=1
x = x - y;System.out.println(x);//x=0,y=1
x++;System.out.println(x);//x=1
x--;System.out.println(x);//x=0
x = +y;System.out.println(x);//x=y=1
x = -y;System.out.println(x);//x=-1
// 比较运算符
f(x > y);//false
f(x >= y);//false
f(x < y);//true
f(x <= y);//true
f(x == y);//false
f(x != y);//true
f(! (x > y));//true
f( (x > y) && (x != y));//false
f( (x > y) || (x > y));//false
// 按位运算符
x = ~y;System.out.println(x);//x为补:11...1110,值为-2,y:00......1
x = x & y;System.out.println(x);//x:000...0000,值为:0
x = x | y;System.out.println(x);//x:1
x = x ^ y;System.out.println(x);//x=1^1=0
//移位运算符
x = x << 1;System.out.println(x);//x=0
x = x >> 1;System.out.println(x);//x=0
x = x >>> 1;System.out.println(x);//x=0
x += y;System.out.println(x);//x=1
x -= y;System.out.println(x);//x=0
x *= y;System.out.println(x);//x=0
x /= y;System.out.println(x);//x=0
x %= y;System.out.println(x);//x=0
x <<= 1;System.out.println(x);//x=0
x >>= 1;System.out.println(x);//x=0
x >>>= 1;System.out.println(x);//x=0
x &= y;System.out.println(x);//x=0
x ^= y;System.out.println(x);//x=1
x |= y;//x=1
System.out.println(x);
}
}