Рубрики
Без рубрики

Структуры управления в Java

Узнайте о структурах управления, которые можно использовать в Java.

Автор оригинала: baeldung.

1. Обзор

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

В этом уроке мы рассмотрим структуры управления в Java.

Существует три вида структур управления:

  • Условные ветви, которые мы используем для выбора между двумя или более путями. В Java существует три типа: if/else/else if , тернарный оператор и переключатель .
  • Циклы, которые используются для перебора нескольких значений/объектов и многократного запуска определенных блоков кода. Основными типами циклов в Java являются for , while и do while .
  • Операторы ветвления, которые используются для изменения потока управления в циклах. В Java есть два типа: break и continue .

2. Если/Еще/Еще Если

Оператор if/else является самой базовой структурой управления , но также может рассматриваться как основа принятия решений в программировании.

В то время как if может использоваться сам по себе, наиболее распространенным сценарием использования является выбор между двумя путями с if/else :

if (count > 2) {
    System.out.println("Count is higher than 2");
} else {
    System.out.println("Count is lower or equal than 2");
}

Теоретически мы можем бесконечно цепляться или гнездиться если/иначе блоки, но это повредит удобочитаемости кода, и именно поэтому это не рекомендуется.

Мы рассмотрим альтернативные утверждения в остальной части этой статьи.

3. Тернарный оператор

Мы можем используйте тернарный оператор как сокращенное выражение, которое работает как если/иначе заявление.

Давайте еще раз рассмотрим наш пример if/else :

if (count > 2) {
    System.out.println("Count is higher than 2");
} else {
    System.out.println("Count is lower or equal than 2");
}

Мы можем рефакторировать это с помощью троицы следующим образом:

System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");

Хотя тернарный может быть отличным способом сделать наш код более читабельным, он не всегда является хорошей заменой if/else.

4. Переключатель

Если у нас есть несколько вариантов на выбор, мы можем использовать переключатель заявление.

Давайте еще раз рассмотрим простой пример:

int count = 3;
switch (count) {
case 0:
    System.out.println("Count is equal to 0");
    break;
case 1:
    System.out.println("Count is equal to 1");
    break;
default:
    System.out.println("Count is either negative, or higher than 1");
    break;
}

Три или более операторов if/else могут быть трудночитаемыми. В качестве одного из возможных обходных путей мы можем использовать switch, , как показано выше.

А также имейте в виду, что у коммутатора есть область действия и ограничения на ввод, которые мы должны помнить, прежде чем использовать его.

5. Петли

Мы используем петли когда нам нужно повторить один и тот же код несколько раз подряд.

Давайте рассмотрим краткий пример сопоставимых для и в то время как типов циклов:

for (int i = 1; i <= 50; i++) {
    methodToRepeat();
}

int whileCounter = 1;
while (whileCounter <= 50) {
    methodToRepeat();
    whileCounter++;
}

Оба приведенных выше блока кода вызовут метод Для Повторения 50 раз.

6. Перерыв

Нам нужно использовать перерыв чтобы рано выйти из цикла.

Давайте рассмотрим краткий пример:

List names = getNameList();
String name = "John Doe";
int index = 0;
for ( ; index < names.length; index++) {
    if (names[index].equals(name)) {
        break;
    }
}

Здесь мы ищем имя в списке имен, и мы хотим прекратить поиски, как только найдем его.

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

7. Продолжайте

Проще говоря, продолжить означает пропустить остальную часть цикла, в котором мы находимся:

List names = getNameList();
String name = "John Doe";
String list = "";
for (int i = 0; i < names.length; i++) { 
    if (names[i].equals(name)) {
        continue;
    }
    list += names[i];
}

Здесь мы пропускаем добавление дубликатов имен в список.

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

8. Заключение

В этой краткой статье мы узнали, что такое структуры управления и как их использовать для управления потоком в наших программах Java.

Весь код, представленный в этой статье, доступен на GitHub .