2011-07-14 7 views
2

誰でも私に以下のコードスニペットを説明できますか?誰でも下のコードスニペットの出力がX88である理由を教えていただけますか?

class G{ 
     public static void main(String [] args) 
     { 
       char x='X'; 
       int i=0; 
       System.out.print(true ? x : 0); 
       System.out.print(false ? i: x); 

    } 
    } 
+2

あなたの最高の理論は何ですか? –

+1

私はあなたの質問を理解できませんでした – giri

+0

@ギリ、私はアンドリューがちょっと問題を考えてあなたを押し込もうとしていたと信じています... – Frankie

答えて

2

xは自動的にcharからintにキャストされます。次のコードを試してください。88が印刷されます。

System.out.println((int)'X'); 
3

2番目の文false ? i: xでは、さまざまなタイプを比較しています。

int : charは、文字 'X'をintとして出力します。 XのASCIIコードは88`です。

関連する問題