CodeGym /Java blog /Tilfældig /Java til loop
John Squirrels
Niveau
San Francisco

Java til loop

Udgivet i gruppen
Engang bemærkede Mark Zuckerberg, at computere er rigtig gode til at gentage kommandoer. Det er ikke nemt for et menneske, vi bliver trætte af at gentage det samme mange gange i træk, men en computer kan gøre det millioner og atter milliarder af gange og aldrig kede sig. Hvis du forsøger at sende hilsner til alle Facebook-brugere, er der ikke noget menneske, der har dage nok til at gøre det. Du kan dog lave en computer til at løse denne opgave ved at skrive et par linjer kode. Sådan fungerer loops. De lader os ikke gentage de samme rutinemæssige handlinger. Den mest populære loop i Java er den såkaldte defined loop eller for loop.

Hvordan skriver man en for loop i Java? Til loop generelt

For loop udfører nogle udsagn et vist antal gange. For eksempel at skrive halvtreds gange "det må jeg ikke være, ho-ho, ho" eller sende invitationer til alle dine venner er typiske opgaver for denne form for loop. Syntaksen for den mest almindelige version af for loop:

for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
Initialiseringsudtrykket udføres én gang, derefter evalueres betingelsen, som burde være et boolesk udtryk.
  • Når løkken begynder, udføres initialiseringerne.
  • Når betingelserne vurderes til at være falske, stopper vores loop sit arbejde.
Tælleren ændrer sig, normalt sker inkrementering (eller dekrementering) efter hver iteration gennem løkken. Du kan springe ethvert af de tre sløjfeudtryk over (initialisering, kontroltilstand, ændring af tælleren). Løkketilstanden kontrolleres før næste trin i løkken. Hvis betingelsen er falsk, går programmet ud af løkken og fortsætter med instruktionen efter for-konstruktionen. Her har vi et blokdiagram over for loop. Til loop i Java - 2

Sådan bruges til loop i Java. Simpelt eksempel.

Her er et særligt Java for loop eksempel. Lad os skrive ti gange "Hej!" String hver gang det ville være fra den nye linje med et antal af denne linje. Vi burde få det næste output:
  1. Hej!
  2. Hej!
  3. Hej!
  4. Hej!
  5. Hej!
  6. Hej!
  7. Hej!
  8. Hej!
  9. Hej!
  10. Hej!
Her er vores Java-program, der løser dette problem:

public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

Hvordan det virker?

Trin 1. Tæller i = 0. Loop kontrollerer vores tilstand, i << 10, derfor udføres loop-sætninger. Den udskriver sætningen "1. Hej!". 1 er en streng i + 1 (fordi vi har talt fra nul, men den første linje er stadig den første). Tæller i øges. Nu er i = 1. Trin 2. Tæller i = 1. i < 10, så vi har en sætning "2. Hej!" og i + 1 = 2. … Trin 10. Tæller i = 9, vi har "10. Hej!" og i øges til 10. Trin 11. Tæller i = 10. i < 10 ? Nej, det er falsk. Derfor er løkken afsluttet. Til loop i Java - 3

Mens loop og for loop: forskelle og ligheder

I Java udføres indefinite loop eller while loop kontinuerligt, hvis den boolske betingelse går i opfyldelse. Syntaksen for while-løkke:

while (boolean condition)
       {
            loop statements...
       }
Temmelig ofte kan du vælge, hvilken løkke du vil bruge. Nogle gange er de meget tætte, og du kan bruge dem begge. For eksempel, her er koden til den samme opgave (skriver ti gange "Hej!" med et nummer på linjen) skrev med while loop:

public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way 
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
Professionelle programmører kan dog ikke rigtig lide while-løkken, og hvor det er muligt, prøv at bruge for-løkken.
TIL MENS

Vi bruger for-løkken, hvis vi allerede kendte antallet af iterationer.

Vi bruger while loop, hvis vi ikke kender nøjagtigt antallet af iterationer.

Initialisering, tilstandskontrol og tællerændring er allerede sat sammen i syntaksen for en loop

Initialisering og tilstandskontrol inde i løkken. Du kan desuden bruge tæller i udsagn.

Uendelig sløjfe for:


for(;;){
	System.out.println("working...");
}

Uendelig sløjfe mens:


while(true){
	System.out.println("working...");
}

Hvordan man afslutter en for loop i java

Normalt kører en for-løkke som et flow, og den naturlige måde at forlade en løkke er, når en betingelse har en falsk værdi. Der er dog to kontrolsætninger, der giver dig mulighed for at forlade sløjfen, før du får den falske værdi af en betingelse - bryd og fortsæt.
  • break giver mulighed for at forlade den aktuelle sløjfe, som om sløjfetilstanden er blevet evalueret til falsk.
  • Fortsæt får loopen til at hoppe til næste trin (iterer tælleren) uden at udføre sætningerne.
Lad os løse det næste problem ved at bruge pause og fortsæt. Vi har en række navne, og vi siger hej til alle fra denne række undtagen de fremmede. Så hvis vi møder en "Stranger"-streng i løbet af vores løkke, forlader vi den (gå væk og stoppe for at sige hej til alle andre).

public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array            
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
Resultatet af vores programudførelse er:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Se? Vi løb væk fra løkken, før vi hilste på Lucas og Will. Lad os nu bruge fortsæt, bare for at ignorere en "fremmed", men forblive inde i løkken for at sige hej til andre venner.

public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
Resultatet er:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
Fremragende! Vi hilste på alle vennerne, men talte ikke med en fremmed.

Forbedret version af for loop eller for-each

For-each er en slags for-løkke, der bruges, når du skal behandle alle elementer i et array eller en samling. Faktisk bruges selve udtrykket for-hver ikke i denne cyklus. Syntaksen er som følger:

for (type itVar: array)
{
    Block of operators;
}
Hvor type er typen af ​​den iterative variabel (det samme som datatypen for arrayet), er ItVar dens navn, array er arrayet, eller der kan være en anden datastruktur, for eksempel ArrayList. Som du kan se, er der ingen tæller, iterationsvariablen itererer over elementerne i en matrix eller samling, og ikke indeksværdierne. Når en sådan løkke udføres, tildeles iterationsvariablen sekventielt værdien af ​​hvert element i arrayet eller samlingen, hvorefter den specificerede blok af sætninger (eller operator) udføres. Bemærk: for-each-løkken kan anvendes på arrays og alle klasser, der implementerer java.lang.Iterable-grænsefladen. Lad os løse det samme problem med hilsener venner, ignorere fremmede ("Stranger"), men denne gang bruge for-hver løkke.

public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
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