Nyckelord: for-loopen, räkneloop, loopar, iterationssatser
Den här sidan kommer gå igenom for-loopen i Java som man använder när man vill att en operation ska upprepas ett specifikt antal gånger. Med andra ord, det är en räkneloop som upprepar loopen igenom kodavsnittet ett specifikt antal gånger. Vi kommer börja grundläggande med att gå igenom hur for-loopen fungerar och syntax för att skapa den, för att sedan fokusera på att lösa exempeluppgifter.
I Java använder man for-loopen när man vill upprepa en operation ett specifikt antal gånger. För att inte behöva skriva din kod flera gånger om, kan vi istället upprepa en operation flera gånger. En for-loop beskrivs som en räkneloop. Det betyder att loopen upprepar en kodsekvens ett förbestämt antal gånger. For-loopen lämpar sig bäst när man vet antal iterationer som loopen kommer att behöva göra. Till skillnad från while-loopen och do-loopen som är att föredra när antal iterationer av loopen inte är fast bestämt.
Sammanfattat så är en for-loop:
For-loopen fungerar på liknande sätt som while-loopen som vi såg på föregående sida. Om vi tar och illustrerar for-loopen med hjälp av ett flödesschema så får vi:
Det figur 1 ovan visar är helt enkelt att:
For-loopen upprepar en sekvens av operationer ett specifikt antal gånger.
For-loopen i Java använder vi för att iterera över ett kodblock så länge villkoret är sant. Vi använder vanligtvis for-loopen när vi vet i förväg hur många gånger det ska upprepas. Till exempel genom en lista eller en array (som vi ska se mer om i senare kapitel) från början till slut. Till skillnad från while-loopen så har en for-loop sina gränser från början till slut. Även om du kan manipulera dessa gränser, är den allmänna implementeringen sådan att det maximala antalet loopar är förutbestämt.
I Java deklarerar man for–loopen med det reserverade ordet for följt av for-loopens “huvud” i parantes ( ) som består av tre komponenter som separeras med semikolon ;
Avslutningsvis, inom måsvingarna, { }, specificerar man alla operationer som man vill exekvera (utföra) om och om igen, så länge som villkoret är true (uppfyllt)
for (initialvärde; villkor; förändring) { // Operation / Flera operationer ... }
Låt oss ta ett par exempel på hur man kan använda en for-loop i Java.
Nedanstående exempel visar hur det är möjligt att använda for-loopen för att utföra en operation ett givet antal gånger.
Om vi skriver in det i kodeditorn så får vi fölkande
for(int i = 0; i < 5; i++) { System.out.println("Räknare: " + i); }
Det som händer i exemplet ovan är alltså att for-loopen upprepar operationen så länge som i är mindre än 5 och programmet skriver alltså ut:
Räknare: 0 Räknare: 1 Räknare: 2 Räknare: 3 Räknare: 4
Vill du testa koden ovan själv, klicka på knappen nedanför för att testa den online
Vi tar ett liknande exempel, där vi nu kommer använda oss av if-satsen som vi har sett tidigare. Tänk dig att vi har ett flygplan med exakt 12 platser (det är ett litet flygplan). Flygbolaget vill markera vilka platser som är fönsterplatser och vilka som är i gången. Eftersom det är ett litet plan så sitter man antigen vid fönster eller i gången. Flygbolaget har då bestämt att alla ojämna nummer är fönsterplatser och alla jämna nummer är i gången. Numret på flygplansstolarna börjar på 1.
Eftersom vi här vet hur många platser det finns så kan vi med fördel använda oss av for-loopen.
public static void main(String[] args) { for (int i = 1; i <= 12; i++) { if (i % 2 != 0) { System.out.println("Plats " + i + " är en fönsterplats"); } else { System.out.println("Plats " + i + " är plats vid mittgången"); } } }
I det här exemplet så börjar vi räkna från initialvärdet 1 och kommer att öka det värdet tills det är mindre eller lika med 12. Vi använder sedan if-satsen för att kontrollera ifall platsen är en plats på ett ojämnt nummer, det vill säga, numret är ej jämnt delbart med 2.
Vidare, i det här fallet får vi då resultatet:
Plats 1 är en fönsterplats Plats 2 är plats vid mittgången Plats 3 är en fönsterplats Plats 4 är plats vid mittgången Plats 5 är en fönsterplats Plats 6 är plats vid mittgången Plats 7 är en fönsterplats Plats 8 är plats vid mittgången Plats 9 är en fönsterplats Plats 10 är plats vid mittgången Plats 11 är en fönsterplats Plats 12 är plats vid mittgången
Låt oss ta ett sista exempel för for-loopen. I det här exemplet ska vi räkna nedåt från talet 25, det vill säga gå från ett större initialvärdet och nedåt. Vi kommer även att inte ta med varje steg på vägen utan ställer in att förändringen ska minska med minus 3 för varje steg. Om vi ställer upp det i kodeditorn så får vi
for (int i = 25; i > 0; i = i - 3 ){ System.out.println("Nummer: " + i); }
Det vi har ställt upp i for-loopen är helt enkelt.
Om vi sedan tar och skriver ut det i konsollen så får vi svaret
Nummer: 25 Nummer: 22 Nummer: 19 Nummer: 16 Nummer: 13 Nummer: 10 Nummer: 7 Nummer: 4 Nummer: 1
Likande som While-loopen så finns det ett par vanliga misstag, Notera att det är ett par vanligare misstag, det finns självklart fler misstag man kan råka göra
Lämna gärna feedback med hjälp av stjärnorna nedan och hjälp oss att fortsätta göra sidan bättre.
Vad tyckte du om sidan?
Lämna gärna feedback och hjälp oss göra sidan bättre
Feedback gör oss bättre!
Lämna gärna feedback om vad du tyckte om avsnittet!
En for-loop i Java är en räkneloop som upprepar en kodsekvens ett förbestämt antal gånger. For-loopen lämpar sig bäst när man vet antal iterationer som loopen kommer att behöva göra. For-loopen skapas genom det reserverade ordet for följt av tre komponenter som skrivs inom parantes ( ) tillhörande for-loopen. De tre komponenterna är
Ja det går bra. Java har en rad inbyggda funktioner som hjälper dig att räkna fram, till exempel, längden av en lista. Om du vill använda for-loopen för att gå igenom den listan så behöver alltså inte du veta hur lång den är utan Java hjälper dig att ta fram det och sen kan du använda det i din for-loops villkor.
Ja det går bra! Det kallas för nested for loop och är vanligt förekommande, framförallt då man arbetar med listor och arrays.
Ja det går utmärkt. Så länge if-satsens villkor är uppfyllt så kommer sedan for-loopens villkor att utvärderas.
Vad tyckte du om sidan?
Lämna gärna feedback och hjälp oss göra sidan bättre
Feedback gör oss bättre!
Lämna gärna feedback om vad du tyckte om avsnittet!