Java语言&&和&的区别是什么,运算符的作用搞不清楚,谢谢
Java语言&&和&的区别是什么,运算符的作用搞不清楚,谢谢
前者是逻辑and,结果是一个Boolean,后者是按位and,结果是一个数
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),
当运算符两边的表达式的结果都为true时,整个运算结果才为true,
否则,只要有一方为false,则结果为false。
他们的主要区别在于是否‘短路’:
比如有两个判断条件
如果用&&的时候 第一个判断没符合就不会继续做第二个判断。
而使用&的时候 如果第一个判断没符合 还会进行第二个判断。
只有&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作
举个例子啦,if(1&&2)
虚拟机执行过程,先判断1,1如果是true,再判断2是不是true,这里如果1是false,将不再执行2
if(1&2)
虚拟机执行过程,先判断1,1如果是true,再判断2是不是true,这里如果1是false,将继续执行2
当然以上 1和2 仅仅是 判断条件,我只是举例子方便点,区别的专业词语叫短路,第一个例子是具备短路的功能的,而第二个是没有短路功能的,这有点像电路里的词语了
&& 叫 :双与 或 短路与
& 叫 : 单与
&& 区别: 判断时, 左边为false的时候,右边不会参与运算。
&区别: 判断时, 不管左边是什么,右边都要运算。
作用:判断时,当两侧都为true的时候,结果才为true。否则结果为false。一假及假
可以看看博文 https://blog.csdn.net/qq_w3/article/details/106573336