运算符
- 算术运算法:+,-,*,/,%,++,–
- 复制运算符:=
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符:?:
- 扩展赋值运算符:+=,-=,*=,/=
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
// 逻辑与运算:两个变量都为真,结果才为true
System.out.println("a && b"+(b&&a));
// 逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println("a || b"+(b||a));
// 如果是真,则变为假,如果是假则变为真
System.out.println("!(a && b)"+!(b&&a));
位运算:
A = 0011 1100
B = 0000 1101
---------------
A&B = 0000 1100 // 两个为1才为1,其余为0
A|B = 0011 1101 // 有1就为1,其余为0
~B = 1111 0010 // 取反
---------------
// 左移(<<)和右移(>>)
二进制 十进制
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
// 2左移三位,输出16
System.out.println(2<<3);
// 由此可知:
左移(<<)一位就是 *2
右移(>>)一位就是 /2
// 位运算,效率极高
// 字符串连接符
int a = 10;
int b = 20;
a+=b; // a = a+b
a-=b; // a = a-b
// 字符串连接符 + , String
System.out.println(""+a+b); // 输出1020
System.out.println(a+b+""); // 输出30
// 三元运算符
// x ? y :z
// 如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格":"及格";// 必须掌握
// 打印及格