Java條件運算子( )

2021-09-24 21:06:10 字數 1179 閱讀 5768

條件運算子的符號表示為「?:」,使用該運算子時需要有三個運算元,因此稱其為三目運算子。使用條件運算子的一般語法結構為:

result=?:;

當 expression 為真時,執行 statement1, 否則就執行 statement3。此三元運算子荽求返回乙個結果,因此要實現簡單的二分支程式,即可使用該條件運算子。

下面是乙個使用條件運算子的示例。

int x,y,z;

x=6,y=2;

z=x>y?x-y:x+y;

在這裡要計算 z 的值,首先要判斷 x>y 表達的值,如果為 true,z 的值為 x-y;否則 z 的值為 x+y。很明顯 x>y 表示式結果為 true,所以 z 的值為 4。

技巧:可以將條件運算子理解為 if-else 語句的簡化形式,在使用較為簡單的表示式時,使用該運算子能夠簡化程式**,使程式更加易讀。

在使用條件運算子時,還應該注意優先順序問題,例如下面的表示式:

x>y ? x-=y : x+=y;

在編譯時會出現語法錯誤,因為條件運算子優先於賦值運算子,上面的語句實際等價於:

(x>y ? x-=y : x)+=y;

而運算子「+=」是賦值運算子,該運算子要求左運算元應該是乙個變數,因此出現錯誤。為了避免這類錯誤,可以使用括號「0」來加以區分。例如,下面是正確的表示式。

(x>y) ? (x-=y): (x+=y);

例 1在程式中宣告 3 個變數 x、y、z,並由使用者從鍵盤輸入 x 的值,然後使用條件運算子向變數 y 和變數 z 賦值。 實現**如下:

public class test9

}儲存程式並執行,執行效果如下所示:

請輸入乙個數:58

x=58

y=58

z=5

請輸入乙個數:4

x=4y=-4

z=5

在該程式中,首先輸入 x 的值為 58,然後判斷 x 的值是否大於 5,顯然條件是成立,則 y 的值為 x,即 y=58。接著判斷 y 的值是否大於 x,因為 y 的值和 x 的值都為 58,所以該條件是不成立的,則 z=5。再次輸入 x 的值為 4,然後判斷 x 的值是否大於 5,不成立,則 y=-4;接著判斷 y 的值是否大於 x,不成立,則 z=5。

條件運算子

條件運算子 c提供條件表示式 conditional expression 作為表達if else語句的便捷方式,該表示式使用?條件運算子。該運算子分為兩個部分,需要三個運算物件。所以是三元運算子,也是c唯一的三元運算子 下面的 得到乙個數的絕對值 x y 0 y y 在 和 之間的內容就是條件表示...

條件運算子和逗號運算子

條件運算子 表示式1 表示式2 表示式3 運算規劃 如果表示式1為真,返回表示式2的結果,否則返回表示式3的結果 例如 a 1,b 2 a b a b 返回值為2 注意表示式是右結合的.例 a 1,b 2,c 3 a b a b?c b 相當於 a b a b?c b 返回值為3 逗號運算子 多個表...

學習Java筆記(運算子 條件語句)

加 減 乘 除 取餘 都是算數運算子 以下都是復合賦值運算子 sum sum a sum a sum sum a sum a sum sum a 等同於 sum a sum sum a sum a sum sum a sum a 自增自減運算子 一元運算子 i 前置運算子 表示式 變數自增或自減,但...