逻辑与(&和&&)运算符的区别

来源:互联网 发布:淘宝网限时秒杀 编辑:程序博客网 时间:2024/05/16 18:02

它们的共同点是:当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

不同点是:请看下面的代码:

public class LogicOperationSymbol {public static void main(String[] args) {int numOne = 0;int numTwo = 10;if(numOne++ > 0 & ++numTwo > 10) {}System.out.println(numOne);System.out.println(numTwo);System.out.println("-------------------------------------------");int numThree = 0;int numFour = 10;//由于&&具有短路的功能,如果第一个表达式为false,则不再计算第二个表达式if(numThree++ > 0 && ++numFour > 10) {}System.out.println(numThree);System.out.println(numFour);}}

&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

0 0
原创粉丝点击