与 或 非(可以用字符串将名称与输出结果连接起来)
短路运算(当执行a&&b运算时,若a已经能够输出false,则b不会被执行)
代码部分:
package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { // 与(and) 或(or) 非(取反) boolean a = true; boolean b = false; System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真 System.out.println("a || b:"+(a||b));//逻辑与运算:两个变量有一个为真,结果才为真 System.out.println("! (a && b):"+!(a&&b));//如果是真,则变为假,如果是假则变为真 //短路运算 int c = 5; boolean d = (c<4)&&(c++<4);//不会执行后面的(c++<4) System.out.println(d); System.out.println(c); } }
位运算(如何高效计算2*8,二进制的2左移三位变成16)
代码部分:
package operator; public class Demo06 { public static void main(String[] args) { /*(位运算) A = 0011 1100 B = 0000 1101 A&B 0000 1100 A/B 0011 1101 A^B 0011 0001 ~B 1111 0010 2*8 = 16 2*2*2*2(效率极高!!!) << *2 >> /2(左移乘以2 右移除以2) 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3);//2左移三位 } }