用一个例子来说明:
int i = 0;
for(int j = 0; j < 8; j++){
i++;
}
当我们要利用i来判定一个函数是否要调用时,根据中文要么。。。要么。。。很容易写成下面这样。
①若当i不等于1或5时调用:
if( i != 1 && i != 5){}
但实际上根据短路原理,后面 “i != 5” 没有意义。
那么改写 "||" 呢?也是不行的,只是简单改符号,就变成了永真。
所以不管是 i 只有1、5的时候调用函数,还是 i 不等于1、5的时候调用,都应该用 "==" 来判断。
i 等于1、5的时候调用函数:
if( i == 1 || i == 5)
i 不等于1、5的调用函数:
if( !( i == 1 || i == 5 ))
本文通过一个示例解释了在Java中如何正确使用短路逻辑(&&和||)进行条件判断,避免常见错误。文章指出,使用`i!=1&&i!=5`虽然在语法上正确,但根据短路原理,`i!=5`的部分是冗余的。同时,文章提醒读者,将条件改为`i==1||i==5`并不等价于原需求,正确的写法应该是`!(i==1||i==5)`来确保在i不等于1和5时调用函数。文章强调了理解短路逻辑对于编写高效且无误的代码的重要性。

被折叠的 条评论
为什么被折叠?



