Java中,&&與&,||與|的區別
阿新 • • 發佈:2018-07-06
key int ron sso keyword 邏輯運算 一個 || mil
原因是:||判斷第一個條件為true,後面的條件就沒有進行判斷就執行了括號中的代碼,而|要對所有的條件進行判斷,
所以會報錯。
原文地址:
Java中,&&與&,||與|的區別
在java的邏輯運算符中,有這麽四類:&&(短路與),&,|,||(短路或)。
&&和&都是表示與,區別是&&只要第一個條件不滿足,後面條件就不再判斷。而&要對所有的條件都進行判斷。
看下面的程序:
- package demo;
- public class TestUnsignedByte
- {
- public static void main(String[] args)
- {
- if ((23 == 23) && (100 / 0 == 0))
- System.out.println("運算沒有問題。");
- else
- System.out.println("沒有報錯");
- }
- }
輸出的是“沒有報錯”。而將&&改為&就會如下錯誤:
- Exception in thread "main" java.lang.ArithmeticException: / by zero
-
at demo.TestUnsignedByte.main(TestUnsignedByte.java:7)
原因是:&&時判斷第一個條件為false,後面的100/0==0這個條件就沒有進行判斷。
&時要對所有的條件進行判斷,所以會對後面的條件進行判斷,所以會報錯。
||和|都是表示“或”,區別是||只要滿足第一個條件,後面的條件就不再判斷,而|要對所有的條件進行判斷。
看下面的程序:
- package demo;
- public class TestUnsignedByte
- {
- public static void main(String[] args)
- {
-
if ((23 == 23) || (100 / 0 == 0))
- System.out.println("運算沒有問題。");
- else
- System.out.println("沒有報錯");
- }
- }
此時輸出“運算沒有問題”。若將||改為|則會報錯。
原因是:||判斷第一個條件為true,後面的條件就沒有進行判斷就執行了括號中的代碼,而|要對所有的條件進行判斷,
所以會報錯。
歡迎各位同學關註拓薪教育,與眾多Java開發人員交流技術心得!
Java中,&&與&,||與|的區別