逻辑运算符
A=true
B=false
与 A&&B==false
或 A||B==true
非 !(A&&B)==true
短路运算
因为false&&true为false,所以当第一个判定为false时,第二个就不用再判定了。
int a=6;
boolean b=(a<5)&&(a++>5);
System.out.println(b);
System.out.println(a);
运行结果为
false
6
证明&&后的语句没有再执行。
位运算符
A 0010 1001
B 1100 0001
A&B 0000 0001 有0则0。 false是0,true是1,false&&true== false,true&&true== true
A|B 1110 1001 有1则1。可以理解为对or错是对,对or对是对,错or错是错。
十进制 | 二进制 |
---|---|
1 | 0000 0001 |
2 | 0000 0010 |
3 | 0000 0011 |
4 | 0000 0100 |
8 | 0000 1000 |
16 | 0001 0000 |
<< 表示二进制左移一位,也就是十进制*2;
>>同理可以表示/2。