您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Java短路邏輯運算符怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java短路邏輯運算符怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
邏輯操作符執行短路求值。所謂短路,就是當一個參與運算的操作數足以推斷該表達式的值時,另一個操作數(可能是表達式)就不會執行。
在使用邏輯操作符時,當兩個操作數都是true時,結果是true,但當第一個操作是false時,結果必須是false,此時不再判斷第二個操作。
public static void main(String[] args) {
int a = 5;//定義一個變量;
boolean b = (a < 4) && (a++ < 10);
//使用短路邏輯運算符的結果為false
System.out.println("使用短路邏輯運算符的結果為" + b);
//a的結果為5
System.out.println("a的結果為" + a);
}
該程序使用短路邏輯邏輯運算符(&&),首先判斷a<4的結果是false,b的結果是false,因此不再執行第二操作a++<10的判斷,因此a的值為5。
知識點擴展:
Java 提供了兩個在大多數其他計算機語言中沒有的有趣的布爾運算符。這就是邏輯AND和邏輯OR的特殊的短路版本。
在邏輯OR的運算中,如果第一個運算數A為真,則不管第二個運算數B是真是假,其運算結果為真。
同樣,在邏輯AND的運算中,如果第一個運算數A為假,則不管第二個運算數是真是假,其運算結果為假。
如果運用||和&&形式,而不是|和&,那么一個運算數就能決定表達式的值,Java的短路版本就不會對第二個運算數求值,只有在需要時才對第二個運算數求值。為完成正確的功能,當右邊的運算數取決于左邊的運算數是真或是假時,短路版本是很有用的。例如,下面的程序語句說明了短路邏輯運算符的優點,用它來防止被0除的錯誤:
if (denom != 0 && num / denom > 10)
既然用了短路AND運算符,就不會有當denom為0時產生的意外運行時錯誤。如果該行代碼使用標準AND運算符(&),它將對兩個運算數都求值,當出現被0除的情況時,就會產生運行時錯誤。
既然短路運算符在布爾邏輯運算中有效,那么就在布爾邏輯運算中全用它,而標準的AND和OR運算符(只有一個字符)僅在位運算中使用。然而,這條規則也有例外。例如,考慮下面的語句:
if(c==1 & e++ < 100) d = 100;
讀到這里,這篇“Java短路邏輯運算符怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。