Java教程

Java基础之 逻辑运算符、位运算符

本文主要是介绍Java基础之 逻辑运算符、位运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

逻辑运算符

 // 逻辑运算符
 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  }

 

 


这篇关于Java基础之 逻辑运算符、位运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!