Java. Урок 12. Условный оператор if

Уроки для начинающих   15 Январь 2013  Автор статьи:  

В данном уроке мы рассмотрим оператор условия if в Java. Сразу приведу аналог оператора if из жизни: «Если на базаре будут белые яйца купи два десятка, иначе купи один». Достаточно знакомая ситуация, не находите ли? Для того, чтобы сказать программе об такой ситуации и нужен условный оператор if. Синтаксис:

1
2
if (условие) оператор1;
else оператор2;

Условием может быть выражение, которое возвращает логическое значение. Если условие истинно, то выполнится оператор1, иначе выполнится оператор2. Конечно выполнение какого-либо действия в случае не выполнения условия не обязательно:

1
if (условие) оператор1;

Приведем несколько примеров использования if в Java:

1
2
3
4
5
6
7
8
9
int x = 18;
if(x>18)
{
    System.out.print("Да");
}
if (true) x++;
else x--;
if(x==18)
    x++;

Теперь рассмотрим более сложный пример, и поймем, а к какому if будет относится else:

1
2
3
4
int x = 18;
if(x>18)
  if(x>21) x++;
  else x--;

else всегда относится к самому последнему if. Т.е если x окажется меньше или равен 18, то его значение никак не изменится.
В языке С++ была проблема, что люди при сравнение двух объектов через двойной равенство, забывали один знак равно, и у них возникало присвоение в условии, результатом которого была неизвестная переменная, в Java такой проблемы нет, т.е если вы забудете одно равенство, то компилятор вам выдаст ошибку:

1
2
if(x=18)//ошибка
    x++;

Рассмотрим следующий случай:

1
2
3
int a = 0;
if(x!=0) a = a *2;
else a = a + 1;

Данный if можно переписать с использование тернарного аналога if, оператора ?

1
a = (x!=0)? a*2 : a+1;




Оператор if Delphi
Оператор if C++

  • Антон

    int a = 0;
    if(Х!=0) a = a *2;
    else a = a + 1;

    Ошибка!Переменная «х» в оператора if

    • Булат

      x не описан. Должно быть так:

      int x = /* любое число */;
      int a = 0;
      if(Х!=0) a = a *2;
      else a = a + 1;

Научиться программировать

  • на Delphi

  • на Java

  • на C++