三元運算表示式的型別
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 true?a i i...
三元表示式
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...