三元運算表示式的型別

2021-09-30 08:54:55 字數 394 閱讀 1218

int i=99;

system.out.println(true?'a':99999);//99999超出字元範圍,表示式的型別確定為int 

system.out.println(true?'a':99);//99可以認為是字元常量,表示式的型別確定為char 

system.out.println(true?'a':i);//i的型別明確定義為int,表示式的型別只能確定為int

列印結果:97a

97(exp1)?exp2:exp3

編譯器判定表示式的型別與exp1無關

exp2:exp3型別一樣,沒有啥好說

exp2:exp3不存在可自動轉型的可能,型別為object

exp2:exp3可安全轉型,則整個表示式的型別為那個安全型別

三元運算表示式分析

三元運算表示式的型別 int i 99 system.out.println true?a 99999 99999超出字元範圍,表示式的型別確定為int system.out.println true?a 99 99可以認為是字元常量,表示式的型別確定為char system.out.println...

三元表示式

c 中有乙個三元運算子 語法為 條件表示式?表示式1 表示式2 該操作首先求出條件表示式的值 bool型別 為true時呼叫表示式1,為flase時呼叫表示式2。其邏輯為 如果為真執行第乙個,否則執行第二個。例項 string result name 老趙 帥的掉渣了 山炮掉渣了 dic.add d...

三元表示式

採用三元操作符對?對表示式進行運算,這種操作符比較特別,因為它有三個操作物件,但它確實屬於操作符的一種,它最終也會生成乙個值。其表示式採取下述形式 boolean exp value0 value1 原型比較大小 string result int i 5,j 10 if i j result su...