逻辑运算符:
与:&&
或:||
非:!
代码案例:
public class Demo05 { public static void main(String[] args) { //逻辑运算符 :与 或 非 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 } }
代码案例2:
//短路运算 //举一个短路运算的例子 public class Demo05 { public static void main(String[] args) { //逻辑运算符 :与 或 非 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 //短路运算:用++可以测短路运算的判断 int c=5; boolean d=(c<4) && (c++<4); System.out.println(d);//false System.out.println(c);//5 } }
位运算:
面试题:重点掌握
/** * 位运算:是按位来计算的 */ public class Demo06 { public static void main(String[] args) { /* A=0011 1100 B=0000 1101 A&B:0000 1100 如果对应位都是1,则为1;否则都是0 A|B:0011 1101 如果对应位都是0,则为0;否则都是1 A^B 0011 0001 如果对应位相同则为0;否则为1 ~B 1111 0010 按位取反 //位运算:都是跟二进制相关的;好处:效率极高 //面试题:2*8=16 2*2*2*2 怎么运算最快 <<:左移 *2 >>:右移 /2 0 1 2 3 4 8 16 */ System.out.println(2<<3);//16 } }