目录
一、符号运算有什么差别
二、差别是什么
三、差异的原因在哪里
短路运算符和逻辑运算符有什么区别?
首先这两个运算符的运算结果没有任何区别,完全相同。
它们都遵循逻辑(断路)或有真则真,逻辑(断路)与符有假则假的原则。
只不过运算时"短路与&&"会发生短路现象。
什么是断路现象?
在这里我们讨论短路与和逻辑与的区别,断路或和逻辑或可以以此类推。
intx=10;inty=12;
system.out.println(x >y&x> (y++));
结果为false
//左边的x>y表达式结果已经是false了,其实整个表达式的结果已经确定是false了,按道理来说右边的表达式不应该执行。
System.out.println(y);//13
//通过这个测试得出:x > y++这个表达式执行了。
(即逻辑与多算了一步,这是逻辑与效率较低的表现)
//测试短路与&&
intm=10;int n-11;
//使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不执行。
//这种现象被称为短路。
原因总结
当此种运算符只要求求解结果时,使用断路运算符在合适情况下可以不用对前后都进行求解。
例如当左边时true时,运用断路或即可快速求出结果为true。