欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java短路和不短路的區別

謝彥文1年前7瀏覽0評論

Java中,邏輯運算符有短路運算符和非短路運算符。

短路運算符指在邏輯與(&&)和邏輯或(||)運算中實現“短路”的機制,即當運算符左側已經可以確定整個表達式的值時,就不再執行右側的表達式,這樣可以提高程序的效率,減少運算次數。

public class ShortCircuit {
public static void main(String[] args) {
int a = 6;
int b = 0;
if (a >5 && b != 0) {
System.out.println("a大于5且b不等于0");
}
if (a >5 || b != 0) {
System.out.println("a大于5或b不等于0");
}
}
}

在上面的代碼中,因為a的值大于5,第一個表達式結果為true,但是因為b等于0,所以右側的表達式沒有執行,第一個if語句不會輸出任何結果。而第二個表達式因為左側已經為true,所以右側的表達式也沒有執行,輸出了相應的結果。

非短路運算符則是不考慮左側表達式的結果,在所有的邏輯運算完成后再對結果進行判斷。

public class NonShortCircuit {
public static void main(String[] args) {
int a = 6;
int b = 0;
if (a >5 & b != 0) {
System.out.println("a大于5且b不等于0");
}
if (a >5 || b != 0) {
System.out.println("a大于5或b不等于0");
}
}
}

在這個代碼中,因為使用的是非短路運算符,所以無論左側表達式是否為true,都會執行右側的表達式。因為b等于0,所以第一個if語句不會輸出任何結果。而第二個表達式因為左側已經為true,所以右側的表達式仍然執行,輸出了相應的結果。