CodeGym /Java blogg /Slumpmässig /Java för loop
John Squirrels
Nivå
San Francisco

Java för loop

Publicerad i gruppen
En gång noterade Mark Zuckerberg att datorer är riktigt bra i en upprepning av kommandon. Det är inte enkelt för en människa, vi tröttnar på att upprepa samma sak många gånger i rad, men en dator kan göra det miljoner och miljarder gånger och aldrig bli uttråkad. Om du försöker skicka hälsningar till alla Facebook-användare finns det ingen människa som har tillräckligt med dagar för att göra det. Men du kan göra en dator för att lösa denna uppgift genom att skriva några rader kod. Så här fungerar loopar. De låter oss inte upprepa samma rutinåtgärder. Den mest populära loopen i Java är den så kallade defined loop eller for loop.

Hur man skriver en for loop i Java? För loop i allmänhet

For loop exekverar vissa satser ett visst antal gånger. Till exempel att skriva femtio gånger "Jag får inte vara så, ho-ho, ho" eller skicka inbjudningar till alla dina vänner är typiska uppgifter för den här typen av loop. Syntaxen för den vanligaste versionen av for loop:

for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
Initieringsuttrycket exekveras en gång, sedan utvärderas villkoret, vilket bör vara ett booleskt uttryck.
  • När loopen börjar körs initieringarna.
  • När villkoren utvärderas till falska, stoppar vår loop sitt arbete.
Räknaren ändras, vanligtvis sker ökning (eller dekrementering) efter varje iteration genom slingan. Du kan hoppa över vilket som helst av de tre looputtrycken (initiering, kontrollvillkor, ändring av räknaren). Slingtillståndet kontrolleras före nästa steg i slingan. Om villkoret är falskt, går programmet ut ur loopen och fortsätter med instruktionen efter for-konstruktionen. Här har vi ett blockschema över for loop. För loop i Java - 2

Hur man använder för loop i Java. Enkelt exempel.

Här är ett speciellt Java för loop-exempel. Låt oss skriva tio gånger "Hej!" Sträng varje gång det skulle vara från den nya raden med ett antal av denna linje. Vi borde få nästa utgång:
  1. Hallå!
  2. Hallå!
  3. Hallå!
  4. Hallå!
  5. Hallå!
  6. Hallå!
  7. Hallå!
  8. Hallå!
  9. Hallå!
  10. Hallå!
Här är vårt Java-program som löser detta problem:

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

Hur det fungerar?

Steg 1. Räknare i = 0. Loop kontrollerar vårt tillstånd, i << 10, därför exekveras loop-satser. Den skriver ut frasen "1. Hej!". 1 är en sträng i + 1 (eftersom vi räknade från noll, men den första raden är fortfarande den första). Räknaren i ökas. Nu, i = 1. Steg 2. Räknare i = 1. i < 10, så vi har en fras "2. Hej!" och i + 1 = 2. … Steg 10. Räknare i = 9, vi har "10. Hej!" och i ökas till 10. Steg 11. Räknare i = 10. i < 10 ? Nej, det är falskt. Därför är slingan avslutad. För loop i Java - 3

While loop och for loop: skillnader och likheter

I Java exekveras obestämd loop eller while loop kontinuerligt om det booleska villkoret blir sant. Syntaxen för while loop:

while (boolean condition)
       {
            loop statements...
       }
Ganska ofta kan du välja vilken slinga du vill använda. Ibland är de väldigt nära och du kan använda dem båda. Till exempel, här är koden för samma uppgift (skriver tio gånger "Hej!" med ett nummer på raden) 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++;
       }
   }
}
Professionella programmerare gillar dock inte while-slingan, och när det är möjligt, försök att använda for-slingan.
FÖR MEDAN

Vi använder for-loopen om vi redan visste antalet iterationer.

Vi använder while loop om vi inte vet exakt antalet iterationer.

Initiering, tillståndskontroll och ändring av räknaren är redan sammanfogad i syntaxen för en loop

Initialisering och tillståndskontroll inne i slingan. Du kan dessutom använda räknare i uttalanden.

Oändlig loop för:


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

Oändlig loop medan:


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

Hur man avslutar en for-loop i java

Vanligtvis går en for-loop som ett flöde och det naturliga sättet att lämna en loop är när ett villkor tar ett falskt värde. Det finns dock två kontrollsatser som låter dig lämna slingan innan du får det falska värdet av ett villkor — bryt och fortsätt.
  • break låter den aktuella slingkroppen lämnas som om slingtillståndet har utvärderats till falskt.
  • continue gör att loopen hoppar till nästa steg (itera räknaren) utan att exekvera satserna.
Låt oss lösa nästa problem med paus och fortsätt. Vi har en mängd namn och vi säger hej till alla från den här samlingen utom främlingar. Så om vi möter en "Främling"-sträng under vår loop lämnar vi den (gå bort och stanna för att säga hej till någon annan).

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 av vårt programexekvering är:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Ser? Vi sprang iväg från slingan innan vi hälsade på Lucas och Will. Låt oss nu använda fortsätt, bara för att ignorera en "Främling" men hålla oss inne i slingan för att säga hej till andra vänner.

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 är:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
Excellent! Vi hälsade på alla vänner, men pratade inte med en främling.

Förbättrad version av för loop eller för varje

For-each är en slags for-loop som används när du behöver bearbeta alla element i en array eller samling. Egentligen används inte själva frasen för varje i denna cykel. Syntaxen är som följer:

for (type itVar: array)
{
    Block of operators;
}
Där typ är typen av den iterativa variabeln (samma som datatypen för arrayen), ItVar är dess namn, array är arrayen eller det kan finnas en annan datastruktur, till exempel ArrayList. Som du kan se finns det ingen räknare, iterationsvariabeln itererar över elementen i en array eller samling, och inte indexvärdena. När en sådan slinga exekveras, tilldelas iterationsvariabeln sekventiellt värdet för varje element i arrayen eller samlingen, varefter det specificerade blocket av satser (eller operatorn) exekveras. Observera: for-each-loopen kan appliceras på arrayer och alla klasser som implementerar java.lang.Iterable-gränssnittet. Låt oss lösa samma problem med hälsningar vänner, ignorera främlingar ("Främling") men den här gången använder vi för varje slinga.

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