歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java三目運算符boolean?x:y中的類型轉換

Java三目運算符boolean?x:y中的類型轉換

日期:2017/3/1 10:09:28   编辑:Linux編程

下面的代碼是面試寶典上的一道題目:

  1. int a=5;
  2. System.out.println("a="+((a<5)?10.9:9));

這段代碼的輸出是9.0。因為三目運算符中有一個10.9,java會根據運算符的精度類型進行自動類型轉換。因此9會變為9.0

  1. char x='x';
  2. int i=10;
  3. System.out.println(false?i:x);
  4. System.out.println(false?100:x);

而這段代碼的輸出是

120

x

對於第一行輸出,與上個例子相同,x被提升了類型,變為int

而對於第二行,由於10是一個常量。若三目運算符中的兩個表達式有一個是常量表達式,另一個是類型T的表達式,且常量表達式可以被T表示,則輸出結果是T類型。因此輸出是字符x

  1. System.out.println(true?100:x);
因此這行代碼將輸出d,也就是100對應的char值
Copyright © Linux教程網 All Rights Reserved