1. 程式人生 > >java關於三元運算子

java關於三元運算子

當使用三元運算子,兩邊的運算元的型別不一致的時候,這就涉及到三元操作符的轉換規則:

1.若果兩個運算元不可轉換,則不做轉換,返回值為Object型別。

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

3.若兩個運算元中有一個是數字S,另外一個是表示式,且其型別為T,那麼,若數字S在T的範圍內,則轉換為T型別;若S超過了T的範圍,則T轉換為S型別。

4.若兩個運算元字都是直接數字。則返回值型別為範圍較大者。

eg:

 System.out.println(6>5?90:'B');

控制檯列印的是90? 而實際打印出來的 Z

故保證三元操作符中的兩個操作型別一致,即可減少錯誤的發生。