java三元運算子

2021-08-17 03:12:47 字數 623 閱讀 5228

由?:符號表示的,具體的含義其實就和if-else結構的含義差不多,這種運算子會將某個條件作兩種處理,如果滿足條件的話就執行第乙個結果,如果不滿足的話就執行另外乙個結果,例如: 

int a,b,c; 

a=2; 

b=3; 

c=a>b ? 100 :200; 

這條語句的意思是,如果a>b的話,就將100賦給c,否則就將200賦給c;

首先看一下三元運算子的格式

[條件語句] ? [表示式1] : [表示式2]

其中如條件語句為真執行表示式1,否則執行表示式2.簡單的例子就不舉了,來點其它的。在jdk1.5以前的版本中,表示式1和表示式2都要求是相同的型別,比如都是string或者char之類的,在jdk1.5以後,有了自動拆箱和裝箱的原因,兩者只要其中一種或者兩者都能被拆箱即可,比如表示式1為integer,而表示式2為int型別的,比如如下

1 int a = 1;

2 integer b = 2;

3 boolean c = ture;

4 int d = c ? b : a;

還有個需要注意的是,如果表示式1和表示式2的型別不相同,那麼他們需要對交集型別的自動參考轉換

JAVA 三元運算子

三元運算子定義 顧名思義,其操作元有三個,第乙個是條件表示式,剩餘兩個為值,條件表示式為真時運算取第乙個值,為假時取第二個值。語法為 條件表示式?表示式1 表示式2。說明 問號前面的位置是判斷的條件,判斷結果為bool型,為true時呼叫表示式1,為false時呼叫表示式2。示例 public st...

Java三元運算子

三元運算子他屬於流程控制語句方面,他的宣告方式 乙個問號和冒號,問號前面寫條件,問號後面寫 值,冒號後面也是寫值。什麼是條件呢?不管你用什麼方法,只要你能夠讓得出來的結果是false或true那麼 就是條件。三元運算子他是這樣的 如果條件的結果為true那麼就把問號後面的值交給接收者,如果條件的結果...

JAVA三元運算子

昨天,我在網上無意中看到了這麼一道題 public static void main string args 問 輸出的結果應該是什麼?相信很多人跟我一樣,一開始都以為輸出的是 9 但是呢,自己按照 測試了一下,發現輸出的卻是 9.0。1.若果兩個運算元不可轉換,則不做轉換,返回值為object型別...