三目運算子 型別自動提公升

2021-06-09 00:02:22 字數 745 閱讀 6487

今天偶然發現一問題,**如下:

public static void main(string args)

涉及到了三目運算中型別自動提公升的一些問題,運算結果如下:

99999判斷結果:97

-1判斷結果 :97

0判斷結果 :a

65535判斷結果:a

65536判斷結果:97

i判斷結果 :97

總結出了以下的結論:

(1)假如表示式1和表示式2具有相同的型別,那麼整個條件運算子結果的型別就是這個型別。

(2)假如乙個表示式的型別是t,t是byte或short或char,另乙個表示式的型別是int型別的常量表示式,而且這個常量表示式的值是可以用型別t表示的(也就是說,常量表示式的值是在型別t的取值範圍之內),那麼整個條件運算子結果的型別就是t。 

(3)除以上情況外,假如表示式1和表示式2的型別不同,那麼將進行型別提公升,整個條件運算子結果的型別就是提公升後的型別

根據上述結論可以看出,參考結論(2)char型別的取值範圍為0-65535,在char取值範圍中均會返回char型別的值,所以輸出a。-1和65536超出了char的取值範圍,所以型別提公升為int型,輸出a對應的ascii碼。最後一條判斷,已經明確了i為int型別,所以根據結論三,型別提公升,輸出結果97。

java 三目運算子 型別自動提公升

public static void main string args 99999判斷結果 97 1判斷結果 97 0判斷結果 a 65535判斷結果 a 65536判斷結果 97 i判斷結果 97總結出了以下的結論 1 假如表示式1和表示式2具有相同的型別,那麼整個條件運算子結果的型別就是這個型別...

三目運算子

1 概念 根據不同的條件,執行不同的操作 返回不同的值。條件1?值1 或操作1 如果滿足條件 1,就返回值 1或執行操作1 條件2?值2 或操作2 否則,如果滿足條件 2,就返回值 2或執行操作2 總結 表示式 閏年 平年 多種條件 條件 1?值1 條件2?值 值3例子 1 輸入星期四 就輸出 班級...

三目運算子

單目運算子 3 雙目運算子 3 4 三目運算子 格式 表達關係式 表示式1 表示式2 如果條件為true,運算後的結果是表示式1 如果條件為false,運算後的結果是表示式2 比較表示式 結果是乙個boolean型別 執行流程 根據比較表示式的計算返回乙個true或者false。如果是true,就把...