位移运算符:>>(右移)、<<(左移),运算方式是相同的
int num = 10;
num = num >> 2;
System.out.println("num:"+num);
1、将num转换为二进制表示方式:00001010,向右移2位得到:00000010,再用整数类型表示结果为2
2、可以用num/(2的2次幂),直接得到位移之后的整数类型
逻辑运算符:|(或)、||(双或)、&(与)、&&(双与)、!(非)、^(异或)
int test = 3;
int test1 = 5;
int test3;
boolean result;
test3 = test | test1;
System.out.println("test3:"+test3);
1、将test值转为二进制: 00000011
2、将test1值转为二进制: 00000101
——————
3、有1则为1,其余都为0: 00000111
4、将二进制转为十进制并输出: 7
int test = 3;
int test1 = 5;
int test3;
test3 = test & test1;
System.out.println("test3:"+test3);
同或计算流程,但有0则为0,全1为1,最后进行二进制转十进制结果为:1
int test = 3;
int test1 = 5;
int test3;
test3 = test ^ test1;
System.out.println("test3:"+test3);
与或计算流程一致,但全0则为0,全1也为0,不同则为1,最后进行二进制转十进制:6
int test = 3;
int test1 = 5;
int test3;
result = test<5 || test1>10;
System.out.println("result:"+result);
双或表达是结果是布尔型,true或者false,有一个是真则结果就为真,左侧为false则不判断右侧
int test = 3;
int test1 = 5;
int test3;
result = test<5 && test1>10;
System.out.println("result:"+result);
双或表达是结果是布尔型,true或者false,有一个是假则结果就为假,左侧为true则不判断右侧