CodeGym /Java blogg /Slumpmässig /Java While Loop
John Squirrels
Nivå
San Francisco

Java While Loop

Publicerad i gruppen
While - slingan finns i nästan alla programmeringsspråk, och Java är inget undantag. While loop i Java och andra språk exekverar en sats eller ett block med satser så länge som värdet på villkoret som utlöste det är sant. I den här artikeln ska vi prata om hur man arbetar med while- slingan. Java While Loop - 1

Vad är cykler till för?

Dina allra första program var en sekvens av instruktioner som exekverades steg för steg efter varandra. Utan gafflar och upprepningar. Senare började vi använda grenar med hjälp av villkorade operatörer. Tja, för att utföra repetitiva handlingar finns det cykler. Kanske är cykler en av de mest uppenbara fördelarna för nybörjare som processautomation ger. Föreställ dig att du behöver skriva ett spårningsprogram som räknar antalet steg som tas på en dag. Och när du passerar till exempel 10 000 steg ska programmet skicka dig ett meddelande om uppnått mål. Uppgiften att utfärda ett meddelande kan uttryckas i ord (eller pseudokod) så här:

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

Send notification "you have reached the goal"
Det vill säga, så snart antalet steg är lika med vad som anges i villkoret, avslutar programmet denna cykel och skickar ett meddelande. Eller ett annat exempel. Föreställ dig att du behöver memorera en dikt (eller ett tal). En dikt anses vara memorerad om du kan läsa den tre gånger i rad utan att kika. Om du föreställer dig ett program som fångar dina försök att recitera en dikt, måste det också använda en loop:

While (success < 3)
learn a poem
Liknande konstruktioner används i alla moderna utbildningsappar som används till exempel för att lära sig språk eller spela musikinstrument.

Medan loop och dess struktur

För att lösa problem som exemplen ovan, och mer generellt, för att automatisera repetitiva åtgärder i Java, kan du använda while- loopen. Java while loop kommer att fungera bra i vårt fall. Denna design arrangerar flera åtgärder i en kortfattad och begriplig struktur. While loop-satsen finns i nästan alla programmeringsspråk . Den upprepar en sats eller ett block av satser så länge som värdet på dess kontrolluttryck är sant. Formen för while- slingan är som följer:

while(condition == true) {
    // statement or loop body
}
Villkoret måste vara ett booleskt uttryck, det vill säga ett som kan sägas vara sant eller falskt. Här är några exempel på booleska uttryck:

s != "exit";
a > 5;
true;
Slingans kropp kommer att exekveras så länge det villkorliga uttrycket är sant. När villkoret blir falskt överförs kontrollen till kodraden som kommer efter slingan. Om bara ett uttalande används i slingan, kan lockiga hängslen utelämnas (men det är bättre att inte göra detta). Det logiska uttrycket utvärderas innan while- loopen börjar och sedan varje gång innan nästa upprepning av satsen exekveras.

Medan loop exempel

Låt oss skriva ett program för att summera alla siffror från 1 till 10 med hjälp av en while- loop:

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);
   }
}
Utgången är:
55
Vi måste beräkna summan av alla siffror från 1 (eller från noll, det spelar ingen roll) till 10. Vi gör den initiala summan och det första elementet lika med noll, och vi kommer att öka elementet med ett för varje pass av loopen. Vi fortsätter att summera tills argumentet blir lika med 10 (det vill säga mindre än 11. På samma sätt skulle vi kunna skriva villkoret i <= 10 ). Låt oss ta ett annat Java while loop-exempel. Vi ska skriva ett program där användare anger positiva heltal. Om de anger noll eller ett negativt tal ska programmet rapportera detta och avsluta 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 förbättra programmet och lägga till det, till exempel kontrollera om användaren angav exakt ett nummer och inte något annat tecken, eller att talet är ett heltal.

gör-under loop

Den klassiska while- loopen, som i exemplen ovan, kontrollerar omedelbart om villkoret är sant. Därför kan det kallas en cykel med en förutsättning. While - slingan har en brother do-while, en loop med ett postcondition. Det vill säga, innan testet av sanningen av tillståndet inträffar, kommer en sådan slinga att exekveras minst en gång:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
Så det första exemplet med en sådan slinga skulle se ut så här:

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);
   }
}

Oändlig cykel

While - slingan kan användas för att organisera oändliga loopar i formen while(true) : Här är till exempel ett program som oändligt (med vissa nyanser) skriver ut en serie heltal:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
För att förstärka det du lärde dig föreslår vi att du tittar på en videolektion från vår Java-kurs
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION