1.只可将AND,OR 或NOT 应用于布尔值。与在C 及C++中不同,不可将一个非布尔值当作布尔值在逻辑表达式中使用。 2.在AND(&&)运算中a()&&b()&&c(),当a为false时,b与c都不再执行,因为整个表达式都是false了,没必要再执行下去,OR(||)也是一样,当有一个为true时就结束。 1 2 3 4 5 6 7 8 9 10 11 public class CalClass { static Boolean test(int num){ System.out.println(num+">2"+(num>2)); return num>2; } public static void main(String[] args){ int i = 1, j =3 , k = 4; System.out.println(test(i)||test(j)||test(k)); System.out.println("end"); } } 3.对于布尔值,按位运算符(如&)具有与逻辑运算符(如&&)相同的效果,只是它们不会中途“短路”。 移位运算符 左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补 0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java 也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。 若对char,byte 或者short 进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个 [...]