2.8 Управляющие структуры
Компьютер хорошо умеет исполнять повторные операции. Он может исполнять такие операции неустанно 10, 100 или даже 10 000 раз. Каждый машинный язык должен иметь особенности, которые инструктируют компьютер, как исполнять такие повторные задачи, и эти задачи решаются с помощью управляющих структур.
Управляющие структуры Java: -
lf-else
Switch
Loops
while
do-while
for
Обсудим каждый вышеупомянутый пункт.
2.8.1 Конструкция if-else
Конструкция if-else также известна как условная управляющая структура или структура выбора, потому что она проверяет данное условие и исполняет указанную задачу в зависимости от того, является ли условие истинным или ложным.
Синтаксис структуры if - else:
Для простой записи if- else
if(condition)
statement;
else
statement;
Для множественной записи if-else
if(condition){
statement;
statement2;
statementN;
}
else {
statement1;
statement2;
statementN;
}
Мы можем использовать "if" без "else" следующим образом:
if(condition){
statements;
}
Обратите внимание: Условие, записанное с "if" возвращает значение переменной типа boolean, то есть истина или ложь. Использование переменной типа boolean также позволяется.
Например,
boolean buttonClick = true;
if (buttonClick) {
statements;
}
else{
statements;
}
Следующий код показывает пример структуры if- else.
Пример 10:
class IfElse {
public static void main(String args[]) {
int num = 10;
if(num % 2 == 0)
System.out.println(num+ is even number );
else
System.out.println(num+ is odd number );
} //end of main
} // end of IfElse
Вывод данной программы,
Рисунок 2.7: Вывод IfElse
В вышеупомянутом коде, переменная num типа int и имеет значение 10. Здесь в записи структуры if - else, если условие if имеет значение True, то выполняется соответствующая запись ниже if, в противном случае выполняется условие else.
Обратите внимание: Если используется только одна конструкция в «if» или в «else» то нет никакой потребности в использовании пары изогнутых фигурных скобок.
Мы можем использовать вложенную структуру if-else в программе. Следующий фрагмент кода показывает, как использовать вложенную структуру if- else.
if (hour >= 7 && hour < 12)
System.out.println( Good Morning );
else if(hour >= 12 && hour < 16)
System.out.println( Good Afternoon );
else if(hour >= 16 && hour < 20)
System.out.println( Good Evening );
else
System.out.println( Good Night );
2.8.2 Конструкция switch
Объявление switch используется, когда должны быть выполнены многократные сравнения состояний. Оператор switch может также заменять длинный ряд вложенных операторов if - else - if. Оператор switch может объявляться выражением или переменной.
Синтаксис использования switch:
switch(condition){
case constant valuel :
statement(s);
break;
case constant value2 :
statement(s);
break;
case constant valueN :
statement(s);
break;
default:
statement(s);
}
В конструкции switch, независимо от того, какое постоянное значение дается наряду с ключевым словом «case», всё согласуется с результатом условия (condition). Ключевое слово «default» указывает на то, что, если ни одно из значений case не соответствует с результатами условия, данного в switch, тогда выполняется условие, заданное по умолчанию.
Оператор break используется внутри switch, чтобы закончить последовательность операторов. Когда встречается оператор break, выполнение передаётся к первой строке кода, которая следует за оператором switch. Он создаёт эффект досрочного выхода из switch.
Некоторые пункты, которые вы должны помнить при написании условий и постоянных значений:
Значение выражения сравнивается с каждым из указанных значений в case-операторах
Если соответствие найдено, то выполняется кодовая последовательность, следующая после этого оператора "case".
Если ни одна из case-констант не соответствует значению выражения, то выполняется оператор default. Оператор default необязателен.
Если согласующихся case нет, и default не присутствует, то никаких дальнейших действий не выполняется.
Следующий фрагмент кода иллюстрирует использование оператора switch.
switch(day) {
case 0 : System.out.println( Sunday );
break;
case 1 : System.out.println( Monday );
break;
case 2 : System.out.println( Tuesday );
break;
case 3 : System.out.println( Wednesday );
break;
case 4 : System.out.println( Thursday );
break;
case 5 : System.out.println( Friday );
break;
case 6 : System.out.println( Saturday );
break;
default : System.out.println( Invalid day of week ); }
В вышеупомянутом примере, если день - между 0 и 6, то будет выполнено утверждение (я), связанное с соответствующим case, но если день (day) - больше чем 6, то будет выполняться утверждение (я), связанное со значением по умолчанию.
Подобно вложенным if-else, мы можем использовать вложенные структуры switch. Во вложенных структурах switch, значения внешнего выключателя и внутреннего выключателя могут быть те же самые.