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

Линейный алгоритм выполняет каждый оператор по порядку — сверху вниз. Операторы выполняются от пункта «А» к пункту «Б». В конце выдается результат программы. Чтобы написать сложную программу, потребуется огромное количество строчек кода и написание повторяющихся конструкций. Независимо от того вводит пользователь данные, или нет — программа выполнится по одному сценарию.

Но, если программу разделить на сценарии (блоки кода, которые будут выполняться при определенных условиях), то можно расширить функции приложения и урезать величину кода.

Условные конструкции позволяют создать несколько потоков выполнения алгоритма (сценариев). Если алгоритм подошел к разделению сценария (условной конструкции), то в зависимости от условия будет выполняться тот или иной блок кода. Затем программа продолжит выполняться дальше.

Операторы if, else, else if

Оператор if(если) определяет условие и если оно верно, то выполняется один блок кода. Оператор else(в ином случае)выполняет другой блок кода если условие не соблюдено.

Синтаксис условной конструкции следующий: if(true){блок кода…}

  • Здесь if — оператор условия.
  • (true) — в скобках может быть любое выражение, которое возвращает true или false.
  • {} — если условие true, тогда выполняется блок операторов. Если false, то команды блока не выполняются.

Пример c if():

int a = 5;
int b = 5;
int c = a+b;
if(c == 10){ // true
System.out.println(«Условие true, выполняется этот блок кода»);
}
// Выполнение дальнейших операторов

Более сложная конструкция: if(true){блок кода…}else{блок кода}

Пример с if else:

int s = 6;
int z = 6;
int v = s+z;
if(v == 6){ // false
System.out.println(«Условие false, этот блок кода не будет выполняться»);
}else{
System.out.println(«Этот блок кода выполнится»)
}
// Выполнение дальнейших операторов

Несколько условий выглядят так: if(){}else if(){}else

Пример с else if:

int a = 5;
int b = 5;
int c = a+b;
if(c == 6){ //false
System.out.println(«Условие false, этот блок кода пропускается»);
}else if(c == 10){ //true
System.out.println(«Эта часть операторов выполнится»)
}else{
System.out.println(«Эта часть кода пропускается»)
}
// Далее будут выполняться остальные операторы кода

Стоит отметить, что если в блоках условных конструкций предусмотрена лишь одна инструкция, то фигурные скобки можно не писать.

Пример без скобок:

int t = 2;
int r = 2;
int p = t+r;
if(p == 5) System.out.println(«Условие false, эта часть будет пропущена»);
else if(p == 4) System.out.println(«Выполняется этот блок кода»)
else System.out.println(»Пропускается»)
// Остальные инструкции

Вложенные условия

Вложенные условия — это одно или несколько условий в основном условии. Самая простая конструкция выглядит так: if(){if(){}}else

Пример:

int o = 3;
int n = 3;
int l = o+n;
if(l == 6){ //true
if(o==3){ //true
System.out.println(«Субусловие выполнилось – этот оператор выполнится»)
}
System.out.println(«Условие true, и этот оператор выполнится»);
}else{
System.out.println(«Этот блок кода пропускается»);
}
// Остальной алгоритм

Если бы субусловие было бы ложно, то выполнился бы оператор основного условия. В нашем случае субусловие true. Значит, выполнится два оператора: основного условия и субусловия.

Оператор выбора switch

Оператор switch представляет альтернативу условным конструкциям и упрощает написание разветвленных алгоритмов с большим количеством условий.

Синтаксис switch:

switch(условие){
case результат условия:
операторы
break;
case другой результат:
операторы
break;
default:
операторы
}

Здесь условие может возвращать как логическое так и другое значение. Если результат выражения соответствует данным, написанным в case, то будут выполняться операторы текущего case. Если не один case не отвечает условию, то будут выполняться операторы в разделе default. После этого основной алгоритм продолжит выполнение.

Пример:

int a = 5;
int b = 5;
int c = a+b;
switch(c){ // переменная с равна 10
case 5:
System.out.println(«Пропускается»);
break;
case 3:
System.out.println(«Пропускается»);
break;
case 10:
System.out.println(«Выполнится»);
break;
default:
System.out.println(«Пропускается»);
}

Стоит отметить, что оператор break ставится в каждом case. Если его не ставить, то после выполнения определенного case, будут выполняться и остальные. Оператор break исключает эту особенность конструкции и выводит компилятор из switch в основной поток.

Тернарные операторы

Тернарные операторы «?», «:» используются для сокращенной записи if else.

Пример:

int f = 1;
int d = 1;
int c = f+d;
int t = c==2 ? c+d : f*d;

Пояснение:

Выражение c==2 является условием.
Если оно true, то t = с+d;
Если ложно, то t = f*d.

Здесь знак «?» является аналогией оператору if. Знак «:» аналогией оператору else. Как видно такая конструкция помещается в одну строчку, не требует фигурных скобок. Однако не рекомендуется выстраивать из нее сложные условные конструкции, так как значительно снижается читабельность такого кода. Также такая конструкция подходит, когда в блоках условий предусмотрено лишь по одному оператору.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *