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

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
}

Здесь

  1. А while цикл оценивает textExpression внутри круглых скобок () .
  2. Если textExpression оценивается как true , код внутри while выполняется цикл.
  3. textExpression оценивается снова.
  4. Этот процесс продолжается до тех пор, пока textExpression false .
  5. Когда 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);

Здесь

  1. Сначала выполняется тело цикла. Затем textExpression оценивается.
  2. Если textExpression оценивается как true , тело цикла внутри do оператор выполняется снова.
  3. textExpression оценивается еще раз.
  4. Если textExpression оценивается как true , тело цикла внутри do оператор выполняется снова.
  5. Этот процесс продолжается до тех пор, пока 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

  1. Переменные и литералы Java
  2. Java-выражения, операторы и блоки
  3. Java для каждого цикла
  4. Java-класс и объекты
  5. Абстрактный класс Java и абстрактные методы
  6. Вложенный и внутренний класс Java
  7. Java бросает и бросает
  8. Автоупаковка и распаковка Java
  9. Разница между while и do-while:объяснение с примерами
  10. Программа чисел-палиндромов на Java с использованием цикла while и for