赋值运算,逻辑运算与位运算:
- class ReviewDemo{
- public static void main(String[] args){
- int a=4,b,c;
- //赋值(=)运算
- b = a++; //先将a=4赋给b,a再++变为5,
- c = ++a; //a先++变为6,再将其值赋给c
- sop(a); //6
- sop(b); //4
- sop(c); //6
-
- //异或(^)运算,以二进制数据作为运算基础
- sop(b<a ^ a==c); //true ^ true, false
- sop(b<a ^ a!=c); //true ^ false, true
- sop(b>a ^ a==c); //false ^ true, true
- sop(b>a ^ a!=c); //false ^ false, false
- sop(b^c); // b:0100,c:0110,2;
- //b^c,转成二进制后运算,即0100
- //^ 0110
- // 0010,相同则为false,不同则为true。
-
- //&&运算(AND短路)
- sop(b<a && a==c); //true && true, true
- sop(b<a && a!=c); //true && false, false
- sop(b>a && a==c); //false && true, false
- sop(b>a && a!=c); //false && false, false
- and(); //5
- and_2(); //4
-
- //||运算(OR短路),有一个true则为true
- sop(b<a || a==c); //true || true, true
- sop(b<a || a!=c); //true || false, true
- sop(b>a || a==c); //false || true, true
- sop(b>a || a!=c); //false || false, false
-
- //位运算符,即将参与运算的字符转换成二进制后按照逻辑运算符执行运算
- sop(6&3); //2, 与运算
- // 0110
- //&0010
- //=0010,即2.
-
- sop(6|3); //7, 或运算
- // 0110
- //|0011
- //=0111,即7.
-
- sop(6^3); //5, 异或运算
- // 0110
- //|0011
- //=0101,即5.
-
- //一个数异或同一个数两次,结果还是那个数。(用于加密)
- //m = (n^m)^m;
- //n = n^(n^m);
- }
- public static void and(){
- int i = 3;
- if((i++>5)&(i++<9)){
- sop(i);
- sop("条件语句执行成功");
- }
- sop(i); //i执行了两次++,两边都要执行
- }
- public static void and_2(){
- int i = 3;
- if((i++>5)&&(i++<9)){
- sop(i);
- sop("条件语句执行成功");
- }
- sop(i); //i只执行了一次++,左为false直接短路
- }
-
- public static void sop(Object obj){
- System.out.println(obj);
- }
- }
复制代码 |
|