逻辑运算符的种类
逻辑运算符 | 名称 | 功能 |
---|---|---|
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
&& | 短路逻辑与 | a&&b,a和b都是true,结果为true,否则为false |
^ | 逻辑异或 | a^b,a和b的结果不同为true,相同为false |
!| 逻辑非 |!a,结果与a的结果相反
还有就是 | 逻辑或 a|b,a和b都是false,结果为false,否则为true
|| 短路逻辑或, 功能与|相同
注意事项
当执行以下代码的时候
下面展示一些 内联代码片
。
public class LogicalOperator{
public static void main(String[] args){
int i,j;
i = 10;
j = 20;
System.out.println("i:" + i);
System.out.println("j:" + j);
System.out.println("------------------");
//逻辑与
i = 10;
j = 20;
System.out.println("&");
System.out.println((i++ > 100) & (j++ > 100));//i++ 和 j++肯定不可能大于100,所以结果为false
System.out.println("i:" + i);
System.out.println("j:" + j);
System.out.println("------------------");
System.out.println("");
//短路逻辑与
i = 10;
j = 20;
System.out.println("&&");
System.out.println((i++ > 100) && (j++ > 100));//i++ 和 j++肯定不可能大于100,所以结果为false
System.out.println("i:" + i);
System.out.println("j:" + j);
System.out.println("------------------");
System.out.println("");
//逻辑或
i = 10;
j = 20;
System.out.println("|");
System.out.println((i++ < 100) | (j++ < 100));//i++ 和 j++肯定不可能大于100,所以结果为true
System.out.println("i:" + i);
System.out.println("j:" + j);
System.out.println("------------------");
System.out.println("");
//短路逻辑或
i = 10;
j = 20;
System.out.println("||");
System.out.println((i++ < 100) || (j++ < 100));//i++ 和 j++肯定不可能大于100,所以结果为true
System.out.println("i:" + i);
System.out.println("j:" + j);
System.out.println("------------------");
System.out.println("");
}
}
执行结果如下
可见
逻辑与&,无论左边真假,右边都要执行
短路逻辑与&&,如果左边为真,右边执行;如果左边为假,右边不执行
逻辑或 | ,无论左边真假,右边都要执行
短门或 ||, 如果左边为假,右边执行;如果左边为真, 右边不执行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95072.html