Java while и do...while Loop
Java while и цикл do...while
В этом руководстве мы узнаем, как использовать while и выполнять цикл while в Java с помощью примеров.
В компьютерном программировании циклы используются для повторения блока кода. Например, если вы хотите показать сообщение 100 раз, вы можете использовать цикл. Это просто простой пример; с помощью циклов можно добиться гораздо большего.
В предыдущем уроке вы узнали о цикле for в Java. Здесь вы узнаете о while
и do...while
петли.
Цикл while в Java
Java while
Цикл используется для запуска определенного кода до тех пор, пока не будет выполнено определенное условие. Синтаксис while
цикл:
while (testExpression) {
// body of loop
}
Здесь
- А
while
цикл оценивает textExpression внутри круглых скобок()
. - Если textExpression оценивается как
true
, код внутриwhile
выполняется цикл. - textExpression оценивается снова.
- Этот процесс продолжается до тех пор, пока textExpression
false
. - Когда textExpression оценивается как
false
, цикл останавливается.
Чтобы узнать больше об условиях, посетите раздел Реляционные и логические операторы Java.
<час>Блок-схема цикла while
<рисунок> <час>Пример 1. Отображение чисел от 1 до 5
// Program to display numbers from 1 to 5
class Main {
public static void main(String[] args) {
// declare variables
int i = 1, n = 5;
// while loop from 1 to 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
Вывод
1 2 3 4 5
Вот как работает эта программа.
Итерация | Переменная | Условие:i <=n | Действие |
---|---|---|---|
1-й | i = 1 n = 5 | true |
1
печатается. i увеличивается до 2 . |
Второй | i = 2 n = 5 | true |
2
печатается. i увеличивается до 3 . |
3-й | i = 3 n = 5 | true |
3
печатается. i увеличивается до 4 . |
4-й | i = 4 n = 5 | true |
4
печатается. i увеличивается до 5 . |
5-й | i = 5 n = 5 | true |
5
печатается. i увеличивается до 6 . |
6-й | i = 6 n = 5 | false | Цикл завершен |
Пример 2. Сумма только положительных чисел
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// take integer input from the user
System.out.println("Enter a number");
int number = input.nextInt();
// while loop continues
// until entered number is positive
while (number >= 0) {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
}
System.out.println("Sum = " + sum);
input.close();
}
}
Вывод
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
В приведенной выше программе мы использовали класс Scanner для получения данных от пользователя. Здесь nextInt()
принимает целочисленный ввод от пользователя.
while
цикл продолжается до тех пор, пока пользователь не введет отрицательное число. Во время каждой итерации число, введенное пользователем, добавляется к sum
. переменная.
Когда пользователь вводит отрицательное число, цикл завершается. Наконец, отображается общая сумма.
<час>Java цикл do...while
do...while
цикл похож на цикл while. Однако тело do...while
Цикл выполняется один раз перед проверкой тестового выражения. Например,
do {
// body of loop
} while(textExpression);
Здесь
- Сначала выполняется тело цикла. Затем textExpression оценивается.
- Если textExpression оценивается как
true
, тело цикла внутриdo
оператор выполняется снова. - textExpression оценивается еще раз.
- Если textExpression оценивается как
true
, тело цикла внутриdo
оператор выполняется снова. - Этот процесс продолжается до тех пор, пока textExpression оценивается как
false
. Затем цикл останавливается.
Схема цикла do...while
<рисунок> <час>
Давайте посмотрим, как работает do...while
. петля.
Пример 3. Отображение чисел от 1 до 5
// Java Program to display numbers from 1 to 5
import java.util.Scanner;
// Program to find the sum of natural numbers from 1 to 100.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while loop from 1 to 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 | true |
2
печатается. i увеличивается до 3 . |
Второй | i = 3 n = 5 | true |
3
печатается. i увеличивается до 4 . |
3-й | i = 4 n = 5 | true |
4
печатается. i увеличивается до 5 . |
4-й | i = 5 n = 5 | true |
6
печатается. i увеличивается до 6 . |
5-й | i = 6 n = 5 | false | Цикл завершен |
Пример 4. Сумма положительных чисел
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// do...while loop continues
// until entered number is positive
do {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
} while(number >= 0);
System.out.println("Sum = " + sum);
input.close();
}
}
Выход 1
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
Здесь пользователь вводит положительное число, это число добавляется к sum переменная. И этот процесс продолжается до тех пор, пока число не станет отрицательным. Когда число отрицательное, цикл завершается и отображает сумму без добавления отрицательного числа.
Вывод 2
Enter a number -8 Sum is 0
Здесь пользователь вводит отрицательное число. Условие теста будет false
но код внутри цикла выполняется один раз.
Бесконечный цикл while
Если условие цикла всегда true
, цикл выполняется бесконечное количество раз (пока не заполнится память). Например,
// infinite while loop
while(true){
// body of loop
}
Вот пример бесконечного do...while
петля.
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
В приведенных выше программах textExpression всегда true
. Следовательно, тело цикла будет выполняться бесконечное количество раз.
циклы for и while
for
Цикл используется, когда известно количество итераций. Например,
for (let i = 1; i <=5; ++i) {
// body of loop
}
И while
и do...while
Циклы обычно используются, когда количество итераций неизвестно. Например,
while (condition) {
// body of loop
}
java
- Переменные и литералы Java
- Java-выражения, операторы и блоки
- Java для каждого цикла
- Java-класс и объекты
- Абстрактный класс Java и абстрактные методы
- Вложенный и внутренний класс Java
- Java бросает и бросает
- Автоупаковка и распаковка Java
- Разница между while и do-while:объяснение с примерами
- Программа чисел-палиндромов на Java с использованием цикла while и for