短路特性

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

举个例子

(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     }

 

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

posted @ 2019-04-08 19:58  nefuer  阅读(437)  评论(0编辑  收藏  举报