逻辑运算符
// 逻辑运算符
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/tech/pnotes/272944.html