上篇文章概述了逻辑运算符中与和短路与的区别,详情请点击以下链接
&和&&区别https://blog.csdn.net/weixin_61767383/article/details/142315905?spm=1001.2014.3001.5501本篇文章接着概述| 和|| 的区别以及使用,后面附有案例,可供大家参考
前言
逻辑运算符中|(逻辑或)和 ||(短路或)的区别也是尤为重要的,本篇博客将以案例形式叙述两者的区别。若有不妥,请各位大佬指正。
一、运算符的说明
| 和 || :表示"或"关系,当符号两边布尔值有一边为true时,结果为true。当两边都为false时,结果为false
二、区别“或”和“逻辑或”
相同点:如果符号左边是false,则二者都执行符号右边的操作
不同点:
-
| : 如果符号左边是true,则继续执行符号右边的操作
-
|| :如果符号左边是true,则不再继续执行符号右边的操作
-
建议:开发中,推荐使用 ||
三、案例
代码如下(示例1):
class Test01{
public static void main(String[]args){
int x = 1,y = 1;
if(x++==1 | ++y==1){
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
运行结果:
运行结果解释:
1.为什么x的值是7?
答:“x++==1 | ++y==1”本句代码中,左边语句是true,则继续执行右边的语句,此时x=7,所以输出x的值就是7
2.为什么y的值是2?
答:逻辑运算符与 | 执行过程中,左边语句是true,则“或”右边语句继续执行,所以输出的是++y的值,即y自加1,结果是2
class Test02
{
public static void main(String[] args)
{
int x = 1,y = 1;
if(x++==1 || ++y==1){
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
运行结果:
运行结果解释:
3.为什么x的值是7?
答:“x++==1 || ++y==1”本句代码中,左边语句是true,不会再执行“短路或”右边的语句,此时x=7,直接输出x的值就是7
4.为什么y的值是1?
答:逻辑运算符短路与 || 执行过程中,左边语句是true,则短路“或”右边语句不再执行,所以输出的是y的值,即1
总结
本篇博客和上篇详细记录了“与和逻辑与”,“或和逻辑或”的区别以及具体案例,如有不妥,请各位大神指正,让我们一起学习,共同进步!