Java中的短路运算符与非短路运算符
在Java中短路运算符指的是"&&"(与) 和"||"(或) ,非短路运算符指的是"&" 和"|".
1.1短路运算符:顾名思义,短路运算符具有短路功能.
|-如果 "&" 运算符的第一个表达式为false,则第二个表达式就不会执行
|-如果 "|" 运算符的第一个表达式为true,则第二个表达式就不会执行
例如:
class Logic {
public static void main(String[] args) {
int i = 0 ;
int j = 0 ;
if (++i > 0 || ++j > 0 ) {
System.out.println( "i的值:" + i);
System.out.println( "j的值:" + j);
}
} } |
输出的结果就是:
i的值: 1 j的值: 0 |
1.2非短路运算符
非短路运算符不管第一个表达式是否可以得出最后结果,都要对第二个表达式进行判断.
class Logic {
public static void main(String[] args) {
int i = 0 ;
int j = 0 ;
if (++i > 0 | ++j > 0 ) {
System.out.println( "i的值:" + i);
System.out.println( "j的值:" + j);
}
} } |
i的值: 1 j的值: 1 |
1.3总结:短路运算符只能用于逻辑表达式内,非短路运算符可用于位表达式和逻辑表达式内。也可以说:短路运算只能操作布尔型的,而非短路运算不仅可以操作布尔型,而且可以操作数值型。
【Java中的短路运算符与非短路运算符】但是在判断的时候推荐使用短路运算符进行逻辑判断,因为短路运算符在一定程度上可以提高程序运行的效率
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 事件代理
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- Java|Java OpenCV图像处理之SIFT角点检测详解