В данном уроке мы рассмотрим оператор условия 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, оператора ?
|