逻辑运算符
// 逻辑运算符
1 public class Demo05 { 2 public static void main(String[] args) { 3 // 与(and) 或(or) 非(取反) 4 boolean a = true; 5 boolean b = false; 6 7 System.out.println("a && b: " + (a && b)); // false 逻辑与运算 :两个变量都为真,结果才为true 8 System.out.println("a || b: " + (a || b)); // true 逻辑或运算:两个变量有一个为真,则结果才为true 9 System.out.println("! (a && b): " + ! (a && b)); // true 如果是真,则变为假,如果是假,则变为真 10 System.out.println("==========================================="); 11 // 短路运算 12 int c = 5; 13 boolean d = (c<4) && (c++<4); // (c++<4) 如果前面的为false,后面的是否还执行? 若后面执行c则会变成 6 14 System.out.println(d); //false 15 System.out.println(c); // 5 16 } 17 }
位运算
1 // 位运算 2 public class Demo06 { 3 public static void main(String[] args) { 4 /* 5 A = 0011 1100 6 B = 0000 1101 7 ----------------------------------------------- 8 (位与)A&B 上面两个二进制上下比较 , 如果两个都为 1,那么才是 1,如果不是则是 0 . 结果: 0000 1100 9 (位或)A|B 如果两个都为 0 则为 0,如果有一个为 1,则为 1. 结果:0011 1101 10 (位异或)A^B 如果两个相同, 则为 0,若不同则为 1 . 结果 : 0011 0001 11 (位取反)~B 如果两个都为 0 ,则为 1, 若 结果: 1111 0010 12 13 面试题:2*8 在计算机中怎么计算 优点(执行效率高) 14 可以拆分成 2*2*2*2 在位运算里换一个增量 在位运算里面会变得非常快 15 << 可以理解为 *2 16 >> 可以理解为 /2 17 */ 18 19 System.out.println(2<<3); // 可以理解为 2*2^3 20 } 21 }
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/272944.html