Найти тему
yagdmitrij

Операторы IF и SWITCH в java.

Условные операторы предназначены для эффективного программирования. С помощью данных операторов осуществляется разветвление программы, т. е. работа программы может происходить по нескольким направлениям. К условному оператору относят оператор IF. Рассмотрим его подробнее:

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

ELSE оператор2;

где условие типа boolean. Если условие истинно (true), выполняется оператор1, а если ложно (false)– выполняется оператор2. Иногда else можно опустить. Здесь нужно обратить внимание на то, что если в программе, точнее в условном операторе If предусмотрено выполнение более двух операторов, то такая конструкция заключается в фигурные скобки. Смотрим:

If (условие) {

оператор1;

оператор2;

оператор3

}

else {

оператор1;

оператор2;

оператор3;

}

Теперь рассмотрим структурную схему условного оператора конструкции if-else. Если представить входную дверь в дом с кодовым замком, который открывается только при выполнении условия, и некий объект, имеющий ключ x. Если ключ положительный, то он войдет в здание (так как выполнится условие x>o) и выполнит находящийся там код. Если ключ отрицательный, то пройдет мимо дома, выполнив else с его блоком операторов и продолжит далее программный код.

if-else
if-else

Теперь рассмотрим условный оператор без else. При положительным ключе, объект также зайдет в дом и выполнит код. Если же условие окажется false, объект, не заходя в дом, продолжит выполнять код, следующий после условного оператора (за домом).

if
if

Теперь рассмотрим работу условного оператора «без домиков».

if-else
if-else

Здесь мы видим, что выполняется блок оператора ELSE {c=5; y=2; System.out.println(c+y)}. Далее рассмотрим работу условного оператора без ELSE.

if
if

Из рисунка видно, что оператор IF не выполняется, однако программа продолжает свою работу. Конструкция IF ELSE может быть вложенной таким образом:

IF (условие)

оператор1;

ELSE IF(условие)

оператор2;

ELSE IF (условие)

оператор3;

……

……

ELSE

операторN;

Работает данная схема следующим образом. Как только одно из условий оператора IF окажется true, будет выполняться оператор, связанный с ним. Если все условия оператора IF окажутся false, то выполниться последний оператор ELSE. Если он отсутствует в программе, то конструкция IF ELSE вообще выполняться не будет.

if-else
if-else

Оператор SWITCH в java применяется для выбора из множества вариантов. Его общая форма записи такова:

SWITCH (выражение){

case значение1:

операторы;

break;

…..

…..

case значение2:

операторы;

break;

default:

операторы;

}

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

switch
switch

Здесь нужно обратить на оператор BREAK. Дело в том, что оператор BREAKпрерывает выполнение в данном случае SWITH, т.е. после выполнения операторов в одной из ветвей case, происходит выход из SWITH. В принципе оператор BREAK можно не использовать, но тогда будьте готовы к тому, что код будет выполнятся в последующих ветвях. Рассмотрим это:

switch
switch

Иногда отсутствие оператора BREAK позволяет писать эффективный код. Рассмотрим нижеприведенную схему программы, где по номеру месяца определяется пора года. В схеме также показана последовательность выполнения кода. Особое внимание обратите на то, что в некоторых ветвях case отсутствуют операторы, в том числе и BREAK.

switch
switch

Изучив работу условного оператора IF и оператора выбора SWITCH можно сделать ряд выводов:

· Отличие операторов друг от друга заключается в том, что в SWITCH проверяется выражение только на равенство, а в IF вычисляется результат логического выражения любого типа.

· Если нужно сделать выбор из огромного количества значений, оператор SWITCH будет работать быстрее, чем IF. Это объясняется тем, что значения case одного типа и их нужно проверить только на равенство.

В заключение подведем итоги. В данной статье мы подробно познакомились с работой условного оператора IF-ELSE и оператором выбора SWITCH, рассмотрели варианты их применения.

Ставьте лайки и подписывайтесь на мой блог и Вас ждет масса увлекательных статей по java.