1.比较运算符
int a = 20;
int b = 20;
//判断a和 b是否相等,如果相等是true,不相等,则是false
System.out.println(a == b);
//判断a和b是否相等,如果相等是false,不相等则是true
System.out.println(a != b);
//如果a大于b就是true
System.out.println(a > b);
//如果a大于等于b是true否则就是false
System.out.println(a >= b);
//如果a小于b就是true
System.out.println(a< b);
//如果a小于等于b是true否则就是false
System.out.println(a<= b);
2.逻辑运算符
&:当多个表达式进行运算的时候,只要所有的表达计算结果都是true整体的结果才是true,但是&不管第一个表达式是不是false,所有的表达式会全部执行。
|:当多个表达式进行运算的时候,只要所有的表达计算结果都是tfalse整体的结果才是false,但是|不管第一个表达式是不是false,所有的表达式都会执行。
&&:比较智能,如果发现第一个表达式是false,就不会再去向下计算,直接可以判定整体是false。
||:比较智能,如果发现第一个表达式是true,就不会再去向下计算,直接可以判定整体是true。
3.位运算
面试题:如何把2用最高效的效率变成8,答案是左移2位。
<<:将参与运算的二进制数据向左移动,在低位产生的空位用0来做补齐。
>>:将参与运算的二进制数据向右移动,在高位产生的空位如果是0那么就用0来做不起,如果高位是1就用1补齐,也就是说右移是带着符号位移动。
(下图的红色标注2.3表示移的位数,0表示右移三位后变为了0)
>>>:无符号右移,将参与运算的数据向有移动,在高位所产生的的空位0补齐