1. 程式人生 > >Java三目運算子注意事項

Java三目運算子注意事項

三目運算子格式:
expression1 ? expression2 : expression3

注意事項:
1.java虛擬機器在編譯三目運算時是以 “?” 和 “:” 來判斷各位置的程式碼充當的結構。“?”前作為一部分,“?”和“:”中間作為一部分,“:”後作為一部分 。

  • 表示式一:int temp = 0 < 1 ? c = c + 1 : d = d + 1;
    錯誤,編譯無法通過。Java虛擬機器把上式看成了int temp = (0<1?c=c+1:d)=d+1,並沒有把d=d+1當成一個整體。
    應改為int temp = 0 < 1 ? c = c + 1 : (d = d + 1);
  • 表示式二:int temp = 0 < 1 ? c = c + 1 : d++;
    正確。Java對++運算子有特殊的執行規則,所以能夠正常編譯

2.三目運算子中的型別轉換

  • 例一:整型轉換為浮點型
    int x=4;
    System.out.println(“value is “+ ((x>4) ? 99.9:9));
    輸出結果:value is 9.0