java與 , 和或 , 的區別

2021-07-03 13:01:13 字數 1379 閱讀 1265

1.與(&,&&)和或(|,||)的區別

1.1使用與操作的時候,要求前後幾個表示式的內容都是true,最終結果才是true,如果有乙個是false,則最終結果就是false;

1.2使用或操作的時候,要求前後幾個表示式只要有乙個true,則最終結果就是true,如果全都是false,則最終結果才是false;

2.與(&)和短路與(&&)的區別以及或(|)和短路或(||)的區別

這點在初學者中,疑惑的人會比較多

先說與操作:既然與操作要求前後幾個表示式的內容都是true的時候最終結果才是true,如果使用短路與,則只要第乙個結果是false,則整體結果肯定是false,但是程式在這個時候是不會繼續執行下去的,相反,如果不是短路與,即使第乙個結果是false,程式依然會執行其他的結果下去,雖然最終結果都是一樣,給個例子,清楚一點:

1.public class test1  

6. }

7.};

public class test1

}};

很顯然,10!=10結果是false,但是因為沒有使用短路與,程式會繼續執行第二個條件結果判斷,第二個在程式中顯然會發生異常,所以這段**編譯可以通過,但是執行就會報錯!

再看一段**:

public class test2 

} };

第乙個結果是false,程式就不會再執行下去,所以程式執行是正常的;

接下來說說或(|)和短路或(||)的區別

其實你明白了前面的兩個與的區別之後,這個就很簡單了

或就是表示前後表示式只要有乙個是true,結果就是true,所有的表示式都是false,結果才是false;

短路與表示只要第乙個表示式是true,則程式就不會去執行其他的表示式判斷,相反,如果不是短路或的話,則即使第乙個是true,也會都去執行其他的表示式進行判斷

1.public class test3  

6. }

7.};

public class test3

}};

顯然,這個程式執行會報錯,因為程式會去判斷每乙個表示式,而下面:

1.public class test4  

6. }

7.};

public class test4

}};

上面的程式因為第乙個表示式就是true,而且採用的是短路或,程式不會再執行下面的判斷,所有程式正常執行

Java 與 或 非 異或

位運算子主要針對二進位制,它包括了 與 非 或 異或 從表面上看似乎有點像邏輯運算子,但邏輯運算子是針對兩個關係運算子來進行邏輯運算,而位運算子主要針對兩個二進位制數的位進行邏輯運算。下面詳細介紹每個位運算子。1 與運算子 與運算子用符號 表示,其使用規律如下 兩個運算元中位都為1,結果才為1,否則...

Java 與 的區別

學習中一些容易混淆的概念,記錄一下,方便自己,也方便他人。和 都是用來做 與 運算的,當運算子兩邊的表示式都為 true 時,結果才為 true 只要有一方為 false 結果就為false。在 名稱 上,一般把 叫做 邏輯與 叫做 短路與 不知道老外有沒有更好的 專業 的叫法,其實都是邏輯 與 操...

java 和 的區別

面試中常常會被問到的,實際開發中可能大家對 用的比較多點 當然這邊是指大部分 下面談談自己對 和 的理解。和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第...