比较原始类型

时间:2011-10-27 10:32:46

标签: java compiler-errors primitive-types

我被问到了

  

鉴于下面a,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

这看起来不错吗?

2 个答案:

答案 0 :(得分:0)

如果表达式没有编译,你认为

的输出是什么
if (expression) 
   {System.out.println("True");} 
else 
   {System.out.println("False");}
会是吗?

对于那些编译的人,那么是的,你是对的。

答案 1 :(得分: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:编译,评估为true(并将true分配给c
  • a < b:编译,评估为true