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)); //逻辑与运算,两个变量都为真,结果才为真 // false System.out.println("a||b:"+(a||b)); //逻辑或运算,两个变量有一个为真,结果就为真 // true System.out.println("!(a&&b):"+!(a&&b)); //如果是真,则变为假。如果是假,则变为真 // true System.out.println("============================================================================"); // 短路运算 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(c); System.out.println(d); } }
package operator; public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B 0000 1100 (上下比较,两个都是1才是1) A|B 0011 1101 (上下比较,有一个1就是1) A^B 0011 0001 (上下比较,一样的话为0,不一样的话为1) ~B 1111 0010 (完全取反) 效率极高 << 左移 *2 >> 右移 /2 */ } }