轉自:http://blog.csdn.net/lishiyuzuji/article/details/8116516html
在Java的邏輯運算符中,有這麼四類:&&(短路與),&,|,||(短路或)。java
&&和&都是表示與,區別是&&只要第一個條件不知足,後面條件就再也不判斷。而&要對全部的條件都進行判斷。web
看下面的程序:app
輸出的是「沒有報錯」。而將&&改成&就會以下錯誤:oop
緣由是:&&時判斷第一個條件爲false,後面的100/0==0這個條件就沒有進行判斷。
&時要對全部的條件進行判斷,因此會對後面的條件進行判斷,因此會報錯。
||和|都是表示「或」,區別是||只要知足第一個條件,後面的條件就再也不判斷,而|要對全部的條件進行判斷。
看下面的程序:this
此時輸出「運算沒有問題」。若將||改成|則會報錯。
緣由是:||判斷第一個條件爲true,後面的條件就沒有進行判斷就執行了括號中的代碼,而|要對全部的條件進行判斷,
因此會報錯。spa