Java kamēr un dari ... kamēr Loop

Šajā apmācībā mēs ar piemēriem uzzināsim, kā Java un kā kamēr izmantot cilpu Java.

Datorprogrammēšanā tiek izmantotas cilpas, lai atkārtotu koda bloku. Piemēram, ja vēlaties 100 reizes parādīt ziņojumu, varat izmantot cilpu. Tas ir tikai vienkāršs piemērs; jūs varat sasniegt daudz vairāk ar cilpām.

Iepriekšējā apmācībā jūs uzzinājāt par Java for loop. Šeit jūs uzzināsiet par whileun do… whilecilpām.

Java kamēr cilpa

Java whilecilpa tiek izmantota, lai palaistu noteiktu kodu, līdz tiek izpildīts noteikts nosacījums. whileCilpas sintakse ir šāda:

 while (testExpression) ( // body of loop )

Šeit,

  1. whileCilpa izvērtē textExpression iekšpusē iekavās ().
  2. Ja textExpression novērtē uz true, whiletiek izpildīts kods cilpas iekšpusē .
  3. TextExpression tiek novērtēta atkārtoti.
  4. Šis process turpinās, kamēr textExpression ir false.
  5. Kad textExpression novērtē vērtību false, cilpa apstājas.

Lai uzzinātu vairāk par apstākļiem, apmeklējiet Java relāciju un loģiskos operatorus.

Bloka shēma, kamēr cilpa

Java blokshēma, kamēr cilpa

1. piemērs: attēlot skaitļus no 1 līdz 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++; ) ) )

Rezultāts

 1 2 3 4 5

Šī programma darbojas šādi.

Atkārtojums Mainīgs Nosacījums: i <= n Darbība
1 i = 1
n = 5
true 1 ir iespiests.
i tiek palielināts līdz 2 .
2 i = 2
n = 5
true 2 ir iespiests.
i tiek palielināts līdz 3 .
3 i = 3
n = 5
true 3 ir iespiests.
i tiek palielināts līdz 4 .
4 i = 4
n = 5
true 4 ir iespiests.
i tiek palielināts līdz 5 .
5 i = 5
n = 5
true 5 ir iespiests.
i ir palielināts līdz 6 .
6 i = 6
n = 5
false Cilpa ir pārtraukta

2. piemērs: tikai pozitīvo skaitļu summa

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

Rezultāts

 Ievadiet skaitli 25 Ievadiet skaitli 9 Ievadiet skaitli 5 Ievadiet skaitli -3 Sum = 39

Iepriekš minētajā programmā mēs esam izmantojuši skenera klasi, lai ņemtu ievadi no lietotāja. Šeit nextInt()no lietotāja tiek ievadīts vesels skaitlis.

whileCilpa turpinās līdz brīdim, kad lietotājs ievada negatīvu skaitli. Katras atkārtošanas laikā summainīgajam tiek pievienots lietotāja ievadītais skaitlis .

Kad lietotājs ievada negatīvu skaitli, cilpa tiek pārtraukta. Visbeidzot tiek parādīta kopējā summa.

Java darīt … kamēr cilpa

do… whileCilpa ir līdzīgs kamēr cilpa. Tomēr do… whilecikla pamatteksts tiek izpildīts vienu reizi, pirms tiek pārbaudīta testa izteiksme. Piemēram,

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

Šeit,

  1. Sākumā tiek izpildīts cilpas korpuss. Pēc tam tiek novērtēts textExpression .
  2. Ja textExpression novērtē uz true, dopaziņojuma iekšpusē esošā cilpa pamatteksts tiek izpildīts vēlreiz.
  3. TextExpression tiek vērtēta vēlreiz.
  4. Ja textExpression novērtē uz true, dopaziņojuma iekšpusē esošā cilpa pamatteksts tiek izpildīts vēlreiz.
  5. Šis process turpinās, līdz textExpression novērtē false. Tad cilpa apstājas.

Plūsmas diagramma no do… while loop

Java blokshēma do while loop

Apskatīsim do… whilecikla darbību.

3. piemērs: attēlot skaitļus no 1 līdz 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); ) )

Rezultāts

 1 2 3 4 5

Šī programma darbojas šādi.

Atkārtojums Mainīgs Nosacījums: i <= n Darbība
i = 1
n = 5
nav pārbaudīts 1 ir iespiests.
i tiek palielināts līdz 2 .
1 i = 2
n = 5
true 2 ir iespiests.
i tiek palielināts līdz 3 .
2 i = 3
n = 5
true 3 ir iespiests.
i tiek palielināts līdz 4 .
3 i = 4
n = 5
true 4 ir iespiests.
i tiek palielināts līdz 5 .
4 i = 5
n = 5
true 6 ir iespiests.
i ir palielināts līdz 6 .
5 i = 6
n = 5
false Cilpa ir pārtraukta

4. piemērs: pozitīvo skaitļu summa

 // 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. izeja

 Ievadiet skaitli 25 Ievadiet skaitli 9 Ievadiet skaitli 5 Ievadiet skaitli -3 Sum = 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

forCilpa tiek izmantots, ja ir zināms skaits atkārtojumiem. Piemēram,

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

Un whileun do… whilecilpas parasti izmanto, ja atkārtojumu skaits nav zināms. Piemēram,

 while (condition) ( // body of loop )

Interesanti raksti...