Сравнение примитивных типов - PullRequest
0 голосов
/ 27 октября 2011

меня спросили

Учитывая определения 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 голосов
/ 27 октября 2011
  • 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
0 голосов
/ 27 октября 2011

Если выражение не компилируется, что вы думаете о выводе

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

будет?

Для тех, кто делает компиляцию, тогда да, вы правы.

...