2011-10-27 164 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,感谢帮助! –