java之运算符

(1)面试题

    short s = 2;
    s = s + 2;
    s += 2; 
    哪一行会报错?为什么?
    第二行报错因为:+= 有一个自动强制转换的过程

(2)运算符

System.out.println(true^true);      //false
System.out.println(false^false);    //false
    ^运算符:异或
        左边       右边     结果 
        true       true     false
        false      true     true
        true       false    true
        false      false    false
    简单的说:相同则false,不同则true。这里写代码片
    &&:短路与
    &:与
    区别:&&是左边为false了,右边就不操作了。
          &左边是false,右边还得继续操作。


    ||:短路或
    |:或
    区别:||是左边为true了,右边就不操作了。
          |左边是true,右边还得继续操作。

(3)位运算符 &,|,^,~,>>,>>>,<<

位运算,要求我们先把数据转换成二进制。
System.out.println(4&3);
//运行结果:0
//分析:4的二进制是100 ,3的二进制是011,进行与运算就是000
//与运算符用符号“&”表示,其使用规律如下:
//两个操作数中位都为1,结果才为1,否则结果为0
System.out.println(4|3);
//运行结果:7
//或运算符用符号“|”表示,其运算规律如下:
//两个位只要有一个为1,那么结果就是1,否则就为0
System.out.println(4 ^ 3);
//运行结果:7
//异或运算符是用符号“^”表示的,其运算规律是:
//两个操作数的位中,相同则结果为0,不同则结果为1。
System.out.println(~4);
//运行结果:-5
//非运算符用符号“~”表示,其运算规律如下:
//如果位为0,结果是1,如果位为1,结果是0

你可能感兴趣的:(JavaSE,java,运算符,java基础)