CodeGym /Java blog /Tilfældig /Java Mens Loop
John Squirrels
Niveau
San Francisco

Java Mens Loop

Udgivet i gruppen
While - løkken findes i næsten alle programmeringssprog, og Java er ingen undtagelse. Mens loop i Java og andre sprog udfører en sætning eller blok af sætninger, så længe værdien af ​​den betingelse, der udløste den, er sand. I denne artikel skal vi tale om, hvordan man arbejder med while- løkken. Java While Loop - 1

Hvad er cyklusser til?

Dine allerførste programmer var en sekvens af instruktioner, der blev udført trin for trin efter hinanden. Uden gafler og gentagelser. Senere begyndte vi at bruge grene ved hjælp af betingede operatører. Nå, for at udføre gentagne handlinger er der cyklusser. Måske er cyklusser en af ​​de mest åbenlyse fordele for nybegyndere, som procesautomatisering giver. Forestil dig, at du skal skrive et sporingsprogram, der tæller antallet af skridt, der tages på en dag. Og når du for eksempel passerer 10.000 trin, skal programmet sende dig en notifikation om det opnåede mål. Opgaven med at udstede en meddelelse kan udtrykkes i ord (eller pseudokode) som dette:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
Det vil sige, så snart antallet af trin er lig med det, der er angivet i betingelsen, afslutter programmet denne cyklus og sender en meddelelse. Eller et andet eksempel. Forestil dig, at du skal huske et digt (eller en tale). Et digt betragtes som husket, hvis du kan læse det tre gange i træk uden at kigge. Hvis du forestiller dig et program, der fanger dine forsøg på at recitere et digt, skal det også bruge en loop:

While (success < 3)
learn a poem
Lignende konstruktioner bruges i alle moderne pædagogiske apps, der bruges til for eksempel at lære sprog eller spille musikinstrumenter.

Mens loop og dens struktur

For at løse problemer som eksemplerne ovenfor, og mere generelt for at automatisere gentagne handlinger i Java, kan du bruge while- løkken. Java while loop vil fungere godt i vores tilfælde. Dette design arrangerer flere handlinger i en kortfattet og forståelig struktur. While loop-sætningen findes i næsten alle programmeringssprog. Det gentager et udsagn eller en blok af udsagn, så længe værdien af ​​dets kontroludtryk er sand. Mens- løkkens form er som følger:

while(condition == true) {
    // statement or loop body
}
Betingelsen skal være et boolsk udtryk, det vil sige et, der kan siges at være sandt eller falsk. Her er nogle eksempler på booleske udtryk:

s != "exit";
a > 5;
true;
Brødteksten i løkken vil blive udført, så længe det betingede udtryk er sandt. Når betingelsen bliver falsk, overføres kontrollen til den kodelinje, der kommer efter løkken. Hvis der kun bruges et udsagn i løkken, kan krøllede seler udelades (men det er bedre ikke at gøre dette). Det logiske udtryk evalueres før starten af ​​while- løkken, og derefter hver gang før den næste gentagelse af sætningen udføres.

Mens Loop Eksempler

Lad os skrive et program til at summere alle tallene fra 1 til 10 ved hjælp af en while- løkke:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
Udgangen er:
55
Vi skal beregne summen af ​​alle tal fra 1 (eller fra nul, det er lige meget) til 10. Vi gør startsummen og det første element lig med nul, og vi øger elementet med én for hver gang af løkken. Vi vil fortsætte med at summere, indtil argumentet bliver lig med 10 (det vil sige mindre end 11. På samme måde kunne vi skrive betingelsen i <= 10 ). Lad os tage et andet Java while loop eksempel. Vi skal skrive et program, hvor brugere indtaster positive heltal. Hvis de indtaster nul eller et negativt tal, skal programmet rapportere dette og afslutte jobbet.

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
Du kan forbedre programmet og tilføje det, for eksempel at kontrollere, om brugeren har indtastet nøjagtigt et tal og ikke et andet tegn, eller at tallet er et heltal.

gør-mens-løkke

Den klassiske while- løkke, som i eksemplerne ovenfor, kontrollerer straks, om betingelsen er sand. Derfor kan det kaldes en cyklus med en forudsætning. While - løkken har en brother do-while, en loop med en postcondition. Det vil sige, før testen af ​​sandheden af ​​tilstanden finder sted, vil en sådan løkke blive udført mindst én gang:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
Så det første eksempel med en sådan løkke ville se sådan ud:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

Uendelig cyklus

While - løkken kan bruges til at organisere uendelige løkker i formen while(sand) : For eksempel, her er et program, der uendeligt (med nogle nuancer) udskriver en række heltal:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
For at styrke det, du har lært, foreslår vi, at du ser en videolektion fra vores Java-kursus
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION