&&(短路与)和&(逻辑与)
相同点:有假则为假,全真才为真。
区别:
逻辑与的判断方式是:从左到右依次判断,不管真假,一直进行判断,直到结尾。因此后续 的++,--都会被执行(逻辑全程运算)
短路与的判断方式是: 从左到右依次判断,直到出现false为止将不再判断,直接得到结果为false(短路遇false就停)
||(短路或)和|(逻辑或)
相同点:有真则为真,全假才为假。
区别:
逻辑或的判断方式是:从左到右依次判断,不管真假,一直进行判断,直到结尾。因此后续 的++,--都会被执行(逻辑全程运算)
短路或的判断方式是: 从左到右依次判断,直到出现true为止将不再判断,直接得到结果为true(短路遇true就停)
例题:
解析:a==2满足条件遇到短路与继续执行判断b++ == 3;显然满足并且此时a=2,b=4。
进入第二个if判断语句此时b不等于3满足第一个条件,遇到短路或那么不再继续执行后边的判断条件。
此时a = 2;b = 4;c = 4;
此时执行第一个输出语句即结果为2,4,4。



