пожалуйста, укажите причину, почему эта Java-программа всегда приходит к остальной части - PullRequest
0 голосов
/ 13 июня 2010
  public class Test {
        public static void main(String[] args){
            if (5.0 > 5) // (5.0<5) for both case it is going to else
                System.out.println("5.0 is greater than 5");
            else 
                System.out.println("else part always comes here");
                     /*another sample*/
            if (5.0 == 5) 
                System.out.println("equals");
            else 
                System.out.println("not equal");
        }
    }

любой может объяснить первое «если утверждение», почему оно всегда приходит к другой части

вторая другая часть печатает «равно»

Ответы [ 5 ]

3 голосов
/ 13 июня 2010

Вы проверяете (5,0 <5) или (5,0> 5). Поскольку (5.0 == 5), то это означает, что оно не меньше 5 (ложь) и не больше 5 (ложь). Таким образом, оба (5.0 <5) и (5.0> 5) вернут false, и вы всегда будете использовать оператор else.

Если вы сделали следующее (что вы и сделали во второй половине):

if (5.0 == 5)
    System.out.println("5.0 is equal to 5");
else 
    System.out.println("else part always comes here");

Тогда вы больше не будете использовать оператор else (как вы видели во второй половине вашего вопроса).

2 голосов
/ 13 июня 2010

Противоположность «меньше чем» равна не «больше чем».Это «больше или равно», что в данном случае верно.

1 голос
/ 13 июня 2010

5,0 не больше 5; они равны Поэтому он будет прибегать к else, потому что оператор if не возвращает true.

1 голос
/ 13 июня 2010

Это всегда относится к остальной части, потому что 5.0 не меньше 5. Это то же самое значение.

1 голос
/ 13 июня 2010

Потому что 5.0 не меньше 5. Это равно 5. Так что 5.0 < 5 ложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...