邏輯與(&)和短路與(&&)的關系


邏輯與(&)和短路與(&&)在運算上對條件的結果判斷不會產生影響,但會對條件判斷的運算有影響.
關鍵在於,邏輯與(&)在運算時會連續運算所有需要判斷的命令.但短路與當遇到false時就會停止運算
比如:
1 public class Test{ 2   public static void main (String args[]){ 3     int i=5; 4     boolean e=i>4&&i++>7; 5     System.out.println(e); 6     System.out.println(i); 7   } 8 }

以上的程序會輸出:

false
6
因為&&前面的(i>4)的值是true,所以需要繼續運算后面的i++. 
但若像下面這樣:
1 public class Test{ 2     public static void main (String args[]){ 3         int i=5; 4         boolean e=i>6&&i++>7; 5  System.out.println(e); 6  System.out.println(i); 7  } 8 } 

就會輸出:

false
5
因為&&前面的i>6的值是false.所以判斷到這里就會中止運算,即i++不會被執行.被"短路"了.叫做短路與 .

邏輯或(||)同以上同理 .


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM