雖然&&跟&都是and運算
||和 | 都是or運算
不過實際運作起來是有差別的
&&跟||運算時如果結果已經確定運算結果
他們就不會再撿查下一個敘述是否為真
比如說 A&&B
如果A已經是false了,那麼不管B是true or false,結果都是false
所以就不會去檢查B
像是下面的程式碼可以運作
public class Demo { public static void main(String[] args) { String a = null; String b = "a"; System.out.println(a==null||a.equals(b));//true System.out.println(a!=null&&a.equals(b));//false } }
然後&跟|不管如何兩個序述都會檢查
所以下面的程式碼就會跳nullpoint
public static void main(String[] args) { String a = null; String b = "a"; System.out.println(a==null|a.equals(b));//true System.out.println(a!=null&a.equals(b));//false } }
沒有留言:
張貼留言