2011-10-27 161 views
0

我一直在問比較原始類型

給出的定義,B和C以下,選擇成功編譯表達式並評估爲true。

int a = 1; 
char b = 'a'; 
boolean c = false; 

所以我用一個簡單的

if (expression) 
{System.out.println("True");} 
else 
{System.out.println("False");} 

這是正確的?

c==a   //false 
!c || a  //false 
b >= a  //true 
c = a  //false 
a - b - 96 //false 
a + b > 0 //true 
c = true  //true 
a < b  //true 

這看起來好嗎?

+0

從'System.out.println'我把它的問題是關於Java?回答什麼是編譯和哪些不會,這很重要。 – vaughandroid

+0

對不起,我總是忘記說明我正在使用的語言。你是對的,它是Java –

回答

0
  • c==a:不能編譯,int不能相比boolean
  • !c || a:不能編譯,boolean || int不允許
  • b >= a:編譯,計算結果爲true
  • c = a:不能編譯,無法將int值分配給一個boolean
  • a - b - 96:編譯,計算結果爲-192
  • a + b > 0:編譯,計算結果爲true
  • c = true:編譯,EVAL uates到true(並分配到truec
  • a < b:編譯,計算結果爲true
+0

感謝這個Joachim。我感謝您抽出時間幫助! –

0

如果表達式不能編譯,你怎麼看的

if (expression) 
    {System.out.println("True");} 
else 
    {System.out.println("False");} 

輸出會是什麼?

對於那些編譯,那麼是的,你是對的。

+0

非常感謝Luchian,感謝幫助! –