Java中,&&與&,||與|的區別


原文地址: 

Java中,&&與&,||與|的區別

 

在java的邏輯運算符中,有這么四類:&&(短路與),&,|,||(短路或)。

 

&&和&都是表示與,區別是&&只要第一個條件不滿足,后面條件就不再判斷。而&要對所有的條件都進行判斷。

看下面的程序:

  1. package demo;
  2.  
  3. public class TestUnsignedByte
  4. {
  5. public static void main(String[] args)
  6. {
  7. if ((23 == 23) && (100 / 0 == 0))
  8. System.out.println( "運算沒有問題。");
  9. else
  10. System.out.println( "沒有報錯");
  11. }
  12. }




輸出的是“沒有報錯”。而將&&改為&就會如下錯誤:

  1. Exception in thread "main" java.lang.ArithmeticException: / by zero
  2. at demo.TestUnsignedByte.main(TestUnsignedByte.java: 7)

原因是:&&時判斷第一個條件為false,后面的100/0==0這個條件就沒有進行判斷。
        &時要對所有的條件進行判斷,所以會對后面的條件進行判斷,所以會報錯。


   ||和|都是表示“或”,區別是||只要滿足第一個條件,后面的條件就不再判斷,而|要對所有的條件進行判斷。
看下面的程序:

  1. package demo;
  2.  
  3. public class TestUnsignedByte
  4. {
  5. public static void main(String[] args)
  6. {
  7. if ((23 == 23) || (100 / 0 == 0))
  8. System.out.println( "運算沒有問題。");
  9. else
  10. System.out.println( "沒有報錯");
  11. }
  12. }



 

此時輸出“運算沒有問題”。若將||改為|則會報錯。

原因是:||判斷第一個條件為true,后面的條件就沒有進行判斷就執行了括號中的代碼,而|要對所有的條件進行判斷,
所以會報錯。

歡迎各位同學關注拓薪教育,與眾多Java開發人員交流技術心得!


免責聲明!

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



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