短路與

短路與是JAVA語言中的一個邏輯運算符,記作&&,與程式語言中的與邏輯相似,但具有短路性質。

基本介紹

  • 中文名:短路與
  • 外文名:Short circuit and
  • 定義:邏輯運算符
  • 記作:&&,
定義,JAVA的定義,短路性質,類似操作符,不同語言中的差異,

定義

JAVA的定義

短路與是JAVA語言中的一個邏輯運算符,記作&&,與程式語言中的與邏輯相似,但具有短路性質。
符號為:&&。
A&&B, 當A為false時,不去計算B的值而直接返回false;當A為true時,計算B的值。

短路性質

所謂短路性質,可以用代碼片段解釋如下:
int i=5;
boolean j=false&&(i++>5); // 看清這個表達式,想想看執行完這句後i的值應該多少
System.out.println(i); // java中輸出變數i的值,i的值為5,所以當第一個值為false並且看到後面的操作符為&&的時候,不再往下計算。
boolean j=false&(i++>5);
System.out.println(i); // 將會發現輸出的值為6,所以當第一個值為false並且看到後面的操作符為&的時候,還要往下計算
所以在Java編程中,對於&&和||,Java只看第一個運算元的值,對於&&,如果第一個值為false,那么第二個不再計算,如果第一個值為true,那么還要計算第二個值;對於||,如果第一個值為false,那么還要計算第二個值,如果第一個值為true,那么第二個值不再計算;對於&和|操作符,兩邊無論如何都計算。
編譯運行後,輸出結果為5。這就是短路與。短路與執行的順序是從左到右,在確定第一個表達式值為假之後就沒有必要執行第二個條件句的必要了。因為很明顯,不管第二個條件的真假,整個式子的布爾值一定為假。短路與會跳掉第二個條件句,不去執行它。基於這些原理,便出現了上述結果。在編程中靈活運用短路與,有很大的意義。

類似操作符

短路操作,除了與外,還有短路或。短路或是在第一個條件為真時,跳過第二個條件表達式、不去執行。

不同語言中的差異

不同程式語言的邏輯操作符定義不盡相同,這對編程學習者來說是十分重要的。首先,我們可以通過類比來得出相似性,方便學習。同時,也要注意差別,不要讓自己陷入誤區。
這裡我們來比較下C語言和JAVA中的邏輯操作符。
在java中有專門的短路邏輯操作符,還有專門的非短路邏輯操作符。不準短路的邏輯操作符有,邏輯與&、邏輯或|。用這種邏輯操作符時,計算機默認不進行短路。
但我們對比下C語言。C語言中的邏輯操作只有&&,||這種疊字的,本身具有短路能力,但不提供不具有短路能力的&和|。而且值得注意的是,在C中,我們稱&&、||就是邏輯與、邏輯或,卻不去在名稱中強調他們的短路特性,雖然他們居於短路這一特性。

相關詞條

熱門詞條

聯絡我們