Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Освоение циклов while и do-while в Java: пошаговое руководство

Циклы while и do...while в Java

В этом уроке мы научимся использовать циклы while и do-while в Java с помощью примеров.

В программировании циклы используются для повторения блока кода. Например, если нужно показать сообщение 100 раз, можно использовать цикл. Это простой пример; с циклами можно сделать гораздо больше.

В предыдущем уроке вы изучили цикл for. Здесь вы узнаете о циклах while и do...while.


Цикл while в Java

Цикл while в Java выполняет определенный код, пока выполняется условие. Синтаксис:

while (testExpression) {
    // тело цикла
}

Здесь:

  1. Цикл while вычисляет testExpression в скобках ().
  2. Если testExpression — true, выполняется код внутри цикла.
  3. testExpression вычисляется снова.
  4. Процесс продолжается, пока testExpression не станет false.
  5. Когда testExpression — false, цикл останавливается.

Подробнее об условиях: Операторы сравнения и логические операторы в Java.


Блок-схема цикла while

Освоение циклов while и do-while в Java: пошаговое руководство

Пример 1: Вывод чисел от 1 до 5

// Программа для вывода чисел от 1 до 5
class Main {
    public static void main(String[] args) {
        // объявляем переменные
        int i = 1, n = 5;
        // while цикл от 1 до 5
        while(i <= n) {
            System.out.println(i);
            i++;
        }
    }
}

Вывод

1
2
3
4
5

Как работает эта программа:

ИтерацияПеременнаяУсловие: i <= nДействие
1-яi = 1
n = 5
true1 выведено.
i увеличено до 2.
2-яi = 2
n = 5
true2 выведено.
i увеличено до 3.
3-яi = 3
n = 5
true3 выведено.
i увеличено до 4.
4-яi = 4
n = 5
true4 выведено.
i увеличено до 5.
5-яi = 5
n = 5
true5 выведено.
i увеличено до 6.
6-яi = 6
n = 5
falseЦикл завершен

Пример 2: Сумма только положительных чисел

// Java программа для нахождения суммы положительных чисел
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        // создаем объект Scanner
        Scanner input = new Scanner(System.in);
        // получаем целое число от пользователя
        System.out.println("Введите число");
        int number = input.nextInt();
        // while цикл продолжается
        // пока введенное число положительно
        while (number >= 0) {
            // добавляем только положительные числа
            sum += number;
            System.out.println("Введите число");
            number = input.nextInt();
        }
        System.out.println("Сумма = " + sum);
        input.close();
    }
}

Вывод

Введите число
25
Введите число
9
Введите число
5
Введите число
-3
Сумма = 39

В программе используется класс Scanner для ввода. Метод nextInt() считывает целое число.

Цикл while продолжается, пока пользователь вводит положительное число. На каждой итерации введенное число добавляется к переменной sum.

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


Цикл do...while в Java

Цикл do...while похож на while. Однако тело do...while выполняется один раз до проверки условия. Например,

do {
    // тело цикла
} while(textExpression);

Здесь:

  1. Сначала выполняется тело цикла. Затем вычисляется textExpression.
  2. Если textExpression — true, тело цикла выполняется снова.
  3. textExpression вычисляется снова.
  4. Если textExpression — true, тело цикла выполняется снова.
  5. Процесс продолжается, пока textExpression не станет false. Затем цикл останавливается.

Блок-схема do...while

Освоение циклов while и do-while в Java: пошаговое руководство

Пример 3: Вывод чисел от 1 до 5

// Java программа для вывода чисел от 1 до 5
import java.util.Scanner;
// Программа для нахождения суммы натуральных чисел от 1 до 100.
class Main {
    public static void main(String[] args) {
        int i = 1, n = 5;
        // do...while цикл от 1 до 5
        do {
            System.out.println(i);
            i++;
        } while(i <= n);
    }
}

Вывод

1
2
3
4
5

Как работает эта программа:

ИтерацияПеременнаяУсловие: i <= nДействие
i = 1
n = 5
не проверяется1 выведено.
i увеличено до 2.
1-яi = 2
n = 5
true2 выведено.
i увеличено до 3.
2-яi = 3
n = 5
true3 выведено.
i увеличено до 4.
3-яi = 4
n = 5
true4 выведено.
i увеличено до 5.
4-яi = 5
n = 5
true5 выведено.
i увеличено до 6.
5-яi = 6
n = 5
falseЦикл завершен

Пример 4: Сумма положительных чисел

// Java программа для нахождения суммы положительных чисел
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        int sum = 0;
        int number = 0;
        // создаем объект Scanner
        Scanner input = new Scanner(System.in);
        // do...while цикл продолжается
        // пока введенное число положительно
        do {
            // добавляем только положительные числа
            sum += number;
            System.out.println("Введите число");
            number = input.nextInt();
        } while(number >= 0);
        System.out.println("Сумма = " + sum);
        input.close();
    }
}

Вывод 1

Введите число
25
Введите число
9
Введите число
5
Введите число
-3
Сумма = 39

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

Вывод 2

Введите число
-8
Сумма = 0

Пользователь вводит отрицательное число. Условие false, но тело цикла выполняется один раз.


Бесконечный цикл while

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

// бесконечный while цикл
while(true){
    // тело цикла
}

Пример бесконечного do...while:

// бесконечный do...while цикл
int count = 1;
do {
    // тело цикла
} while(count == 1)

В этих программах textExpression всегда true. Поэтому тело цикла выполняется бесконечно.


Циклы for и while

Цикл for используется, когда число итераций известно. Например,

for (int i = 1; i <=5; ++i) {
    // тело цикла
}

А циклы while и do...while обычно применяются, когда число итераций неизвестно. Например,

while (condition) {
    // тело цикла
}

java

  1. Переменные и литералы в Java: подробное руководство
  2. Понимание выражений, операторов и блоков в Java
  3. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  4. Классы и объекты в Java: практическое руководство
  5. Абстрактные классы и методы в Java: полное руководство
  6. Вложенные и внутренние классы в Java: типы, примеры и лучшие практики
  7. Java throw vs throws: мастерство обработки исключений с практическими примерами
  8. Освоение Java Autoboxing и Unboxing: практические примеры и лучшие практики
  9. Циклы while и do-while: наглядное сравнение с практическими примерами
  10. Java-проверка чисел-палиндромов: алгоритмы с while и for циклами