Artificial Intelligence
Please fill the required field.

swich-case на Java теория


http://study-java.ru/uroki-java/vyrazeniya-switch-i-case/ Переменная условия вводится единственный раз и проверяется на равенство с каждым из исходных значений (case). Как только значение переменной соответствует одному из исходных значений, выполняется тело блока кода, соответствующего данному case, и происходит выход из конструкции switch. В случае, если ни одно из значений не соответствует переменной, то выполняется блок default. Пример использования конструкции switch-case: ``` int num = 2; String numString; switch (num) { case 1: numString = "Один"; break; case 2: numString = "Два"; break; case 3: numString = "Три"; break; default: numString = "Неизвестное число"; break; } System.out.println("Число " + num + " в виде строки: " + numString); // Вывод: // Число 2 в виде строки: Два ``` В данном примере, переменная ```num``` имеет значение 2, поэтому будет выполнено тело кода, соответствующее ```case 2```, а именно – присвоено значение ```"Два"``` переменной ```numString```. Так же в конструкции будет использован блок ```default```, если переменная не будет удовлетворять ни одному из значений. Ключевое слово ```break``` используется для выхода из конструкции ```switch-case```. Без него, выполнение кода будет продолжаться и в другие блоки ```case```. Так как в данном примере не используется оператор ```break```, результатом будет ```Три```, так как это последнее значение в конструкции. В конструкции ```switch-case``` также можно использовать оператор ```fall-through```, который позволяет выполнить несколько блоков кода при одном условии. ``` switch (num) { case 1: numString = "Один"; break; case 2: case 3: numString = "Два или Три"; break; default: numString = "Неизвестное число"; break; } System.out.println("Число " + num + " в виде строки: " + numString); // Вывод: // Число 2 в виде строки: Два или Три ``` В этом случае, при условии переменной ```num = 2```, будет выполнено тело кода блока ```case 2```, а затем блок ```case 3```. Таким образом, переменной ```numString``` будет присвоено значение ```"Два или Три"```. В качестве значений в конструкции ```switch-case``` могут выступать любые примитивные типы данных, а также объекты. Также следует учитывать, что конструкция ```switch-case``` сильно ограничена в сравнении с условными операторами ```if-else```. В частности, в блоках ```case``` можно использовать только константы или литералы, а не условные выражения. Также нельзя использовать логические операторы, например, ```<``` или ```>```. Если необходимо описать более сложное условие, лучше использовать именно условные операторы.