逻辑运算符
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为false,就不会执行后面的(c++<4) System.out.println(d); System.out.println(c); }
位运算符
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一次 */ System.out.println(2<<3);//输出结果为16 }
三元运算符
public static void main(String[] args) { int a = 10; int b = 20; a+=b;//a=a+b a-=b;//a=a-b System.out.println(a+b); //面试题: //字符串连接符 +,除非String类型在最后,否则当 + 两侧出现String类型时,其他操作数就会都转化为String进行连接 System.out.println(""+a+b);//输出结果为1020 System.out.println(a+b+"");//输出结果为30 // 条件运算符 ? : }