&和&&有什么区别呢?
下文笔者讲述&和&&的区别说明,如下所示:
&和&&的区别说明
&和&&的功能: &:用于逻辑与的运算符 表示逻辑与(and) 当运算符两边的表达式的结果都为true时 整个运算结果才为true,否则只要有一方为false,则结果为false。 &&:常用于短路运算,即:第一个表达式为false时,则不计算第二个表达式 如: if(str != null && !str.equals(s))表达式 当str为null时 后面的表达式不会执行 所以不会出现NullPointerException 如果将&&改为&, 则会抛出NullPointerException异常 If(x==88 & ++y>0) y会增长,If(x == 88 && ++y >0)不会增长从以上的功能描述,我们可以得到两者的区别如下:
&&: 还具有短路的功能 即如果第一个表达式为false,则不再计算第二个表达式 &: 可用于位运算符 当&操作符两边的表达式不是boolean类型时 &表示按位与操作
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。