Java while i zrób ... while Loop

W tym samouczku nauczymy się korzystać z pętli while i while w Javie na podstawie przykładów.

W programowaniu komputerowym pętle służą do powtarzania bloku kodu. Na przykład, jeśli chcesz wyświetlić wiadomość 100 razy, możesz użyć pętli. To tylko prosty przykład; dzięki pętlom można osiągnąć znacznie więcej.

W poprzednim samouczku dowiedziałeś się o pętli Java for. Tutaj masz zamiar poznać whilei do… whilepętle.

Pętla while w Javie

whilePętla Java służy do uruchamiania określonego kodu, dopóki nie zostanie spełniony określony warunek. Składnia whilepętli to:

 while (testExpression) ( // body of loop )

Tutaj,

  1. whilePętli ocenia textExpression wewnątrz nawiasów ().
  2. Jeśli textExpression szacuje się do true, kod wewnątrz whilepętli jest wykonywany.
  3. TextExpression ponownie ocenione.
  4. Ten proces trwa do momentu, gdy textExpression jest false.
  5. Gdy textExpression szacuje się do false, pętla zatrzymuje się.

Aby dowiedzieć się więcej o warunkach, odwiedź stronę Operatory relacyjne i logiczne języka Java.

Schemat blokowy pętli while

Schemat blokowy pętli while w języku Java

Przykład 1: Wyświetlanie liczb od 1 do 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++; ) ) )

Wynik

 1 2 3 4 5

Oto jak działa ten program.

Iteracja Zmienna Warunek: i <= n Akcja
1 i = 1
n = 5
true 1 jest drukowany.
i wzrasta do 2 .
2nd i = 2
n = 5
true 2 jest drukowane.
i wzrasta do 3 .
3rd i = 3
n = 5
true 3 jest drukowane.
i wzrasta do 4 .
4 i = 4
n = 5
true 4 jest drukowane.
i wzrasta do 5 .
5 i = 5
n = 5
true 5 jest drukowane.
i wzrasta do 6 .
6th i = 6
n = 5
false Pętla jest zakończona

Przykład 2: Suma tylko liczb dodatnich

 // 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(); ) )

Wynik

 Wpisz liczbę 25 Wpisz liczbę 9 Wpisz liczbę 5 Wpisz liczbę -3 Suma = 39

W powyższym programie wykorzystaliśmy klasę Scanner do pobrania danych wejściowych od użytkownika. Tutaj nextInt()pobiera wartość całkowitą od użytkownika.

whilePętla trwa aż użytkownik wprowadzi liczbę ujemną. Podczas każdej iteracji do sumzmiennej dodawana jest liczba wprowadzona przez użytkownika .

Gdy użytkownik wprowadzi liczbę ujemną, pętla się kończy. Na koniec wyświetlana jest łączna suma.

Java robi… pętlę while

do… whilePętli jest podobny do pętli. Jednak treść do… whilepętli jest wykonywana raz przed sprawdzeniem wyrażenia testowego. Na przykład,

 do ( // body of loop ) while(textExpression)

Tutaj,

  1. Ciało pętli jest wykonywane jako pierwsze. Następnie obliczana jest wartość textExpression .
  2. Jeśli wartość textExpression zostanie obliczona do true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  3. TextExpression jest oceniany po raz kolejny.
  4. Jeśli wartość textExpression zostanie obliczona do true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  5. Ten proces jest kontynuowany do momentu, gdy textExpression oceni false. Następnie pętla się zatrzymuje.

Schemat blokowy pętli do… while

Schemat blokowy Java do pętli while

Zobaczmy, jak działa do… whilepętla.

Przykład 3: Wyświetlanie liczb od 1 do 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); ) )

Wynik

 1 2 3 4 5

Oto jak działa ten program.

Iteracja Zmienna Warunek: i <= n Akcja
i = 1
n = 5
niesprawdzone 1 jest drukowany.
i wzrasta do 2 .
1 i = 2
n = 5
true 2 jest drukowane.
i wzrasta do 3 .
2nd i = 3
n = 5
true 3 jest drukowane.
i wzrasta do 4 .
3rd i = 4
n = 5
true 4 jest drukowane.
i wzrasta do 5 .
4 i = 5
n = 5
true 6 jest drukowane.
i wzrasta do 6 .
5 i = 6
n = 5
false Pętla jest zakończona

Przykład 4: Suma liczb dodatnich

 // 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(); ) )

Wyjście 1

 Wpisz liczbę 25 Wpisz liczbę 9 Wpisz liczbę 5 Wpisz liczbę -3 Suma = 39

Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.

Output 2

 Enter a number -8 Sum is 0

Here, the user enters a negative number. The test condition will be false but the code inside of the loop executes once.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the textExpression is always true. Hence, the loop body will run for infinite times.

for and while loops

forPętli, jeżeli liczba iteracji jest znana. Na przykład,

 for (let i = 1; i <=5; ++i) ( // body of loop )

I whilei do… whilepętle są zwykle używane, gdy liczba iteracji jest nieznana. Na przykład,

 while (condition) ( // body of loop )

Interesujące artykuły...