JAVA中&&,||的短路现象

137 阅读1分钟

一、&&如果执行到为false的结果,则发生短路现象
多个&&连接的关系运算,从左到右,遇到一个为false则后续的关系运算将不再执行

int a=3;
int b=4;
//发生了短路
if(a>b&&a++>0){ };
System.out.println(a);//3
//没有发生短路
if(a<b&&b++>0){ };
System.out.println(b);//5

注:使用&不会发生短路现象,但是不建议使用

二、||如果执行到为true的结果,则发生短路现象
多个||连接的关系运算,从左到右,遇到一个为true则后续的关系运算将不再执行

int a=3;
int b=4;
//发生了短路
if(a<b||a++>0){ };
System.out.println(a);//3
//没有发生短路
if(a>b||b++>0){ };
System.out.println(b);//5

注:使用|不会发生短路现象,但是不建议使用