建議3 三元操作的型別必一致

2022-09-15 17:27:15 字數 408 閱讀 6380

《編寫高質量**     改善j**a程式的151個建議》

**如下

public class client

}

輸出結果

false

s1 90

s2 90.0

三元操作符型別轉換規則

1.若兩個操作符不可轉換,則不做轉換,返回值為object型別。

2.若兩個運算元是明確的型別表示式(比如變數),則按照正常的二進位制數字來轉換,int型別轉換為float型別等。

3.若兩個運算元有乙個是數字s,另外乙個是表示式,且其型別標誌位t,那麼,若數字s在t的範圍內,則轉換為t型別;若s超出了t型別的範圍,則t轉換為s型別。

4.若兩個運算元都是字面量數字,則返回值型別為範圍較大者。字面量數字 上述列子就是

三元操作符的型別務必一致

三元操作符是if else的簡化寫法,在專案中使用它的地方很多,也非常好用,但是好用又簡單的東西並不表示就可以隨便用,我們來看看下面這段 public class client 分析一下這段程式 i是80,那它當然小於100,兩者的返回值肯定都是90,再轉成string型別,其值也絕對相等,毋庸置疑...

模擬三元操作符和真正三元操作符的區別

更新 2019.9.7 在第二個運算元為真的情況下 lua的 a and b or c 與 a?b c是等價的.1 三元操作符是用來處理簡單的判斷的 2 a b?a b 3 寫成if的情況 4if a b 5returna 6 else 7returnb 8 9 或許用and和or來模擬 10 a ...

三元運算表示式的型別

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...