讲一下条件的短路特性,在表达式中从前往后,只要有一个能决定整个表达式真假之后,就不往后判断了

举个例子

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

(1>2 && 3>2) 看到1>2 就已经能知道表达式1>2 && 3>2为假就不再往后判断了

(3>2 || 9>4) 看到3>2就已经能知道表达式3>2 || 9>4为真,就不再往后判断了

 

看这样一个例子

1     a = 8;
2     b = 9;
3     if(a-b>0 && m[a-b]==5){
4         ......
5     }

数组的方括号里必须是非负数,如果没有这个短路特性,就会出现m[-1]这种情况,程序直接就崩溃了。也就是说,如果代码写成了下边这种形式,就会出现m[-1]

1     a = 8;
2     b = 9;
3     if(m[a-b]==5 && a-b>0){
4      ......
5     }

 

以上是短路特性的一个体现。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄