Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For-loop | Loopar
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java-Grunder

bookFor-loop

En stor nackdel med while-loopen är att det inte går att ange ett exakt antal iterationer och ha full kontroll över loopens körning. Därför finns for-loopen, som ger alla verktyg för korrekt loopkontroll och även används vid arbete med arrayer och samlingar.

for-loop

for-loopen är ett styrflödesuttryck som möjliggör upprepad körning av en kodblock under ett specificerat antal gånger. Den används ofta när det exakta antalet iterationer är känt eller vid iteration över en samling eller array.

Syntaxen för for-loopen i Java är följande:

Main.java

Main.java

copy
123
for (initialization; condition; update) { // code to be executed }

Om vi går steg för steg, så initierar vi först en variabel i en särskild sektion för detta (vi gjorde samma sak för while-loopen, men då utanför loopen). Därefter anger vi villkoret för när loopen ska köras (till exempel så länge variabeln är mindre än 10). Efter det använder vi en inkrementering eller dekrementering. Nedan finns ett flödesschema och en förklaring av hur varje del av loopens block fungerar:

Här är en uppdelning av varje del i for-loopen:

  • Initiering: detta är den initiala inställningen som utförs endast en gång i början av loopen. Vanligtvis deklarerar och initierar du en loopkontrollvariabel här. Till exempel, int i = 0;
  • Villkor: detta är villkoret som kontrolleras före varje iteration. Om villkoret är sant, körs loopens kodblock. Om villkoret är falskt, avslutas loopen. Till exempel, i < 10;
  • Inkrement-/dekrementuttryck: detta är koden som körs efter varje iteration. Vanligtvis uppdaterar du loopkontrollvariabeln här. Till exempel, i++ (vilket är ekvivalent med i = i + 1);
  • Kod inuti loopen: detta är kodblocket som körs för varje iteration av loopen. Du kan placera valfri giltig Java-kod inuti loopens kodblock.

Här är ett exempel som visar användningen av en for-loop:

Main.java

Main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("Iteration: " + i); } } }

I detta exempel kommer loopen att köras 10 gånger. Den startar med att i initialiseras till 0, kontrollerar om i är mindre än 10, kör loopens kropp och uppdaterar sedan i genom att öka den med 1. Denna process upprepas tills villkoret blir falskt.

Det är värt att notera att vi i denna loop kan använda variabeln vi skapade. I vårt fall skriver vi ut variabeln i för att visa iterationsnumret på skärmen.

Detta är mycket användbart, särskilt när vi behöver att vår variabel i ska användas i koden.

Låt oss titta på ett annat exempel där vi behöver visa endast jämna tal i intervallet från 1 till 30.

För att avgöra om ett tal är jämnt eller inte kommer vi att använda operatorn %. Operatorn % i Java används för att få resten av en division. Den hjälper till att kontrollera om ett tal delas jämnt med ett annat, vilket är användbart för att avgöra om ett tal är jämnt.

main.java

main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 30; i++) { if (i % 2 == 0) { // Check if `i` is even System.out.println(i); } } } }

Bra, i koden ovan använde vi variabeln i vid kontroll av villkoret. Med andra ord representerar i de tal vi överväger. Därefter kontrollerar vi om talet i är jämnt med hjälp av modulo-operationen (%). Om resten vid division med 2 är noll, är talet jämnt, vilket betyder att det är delbart med 2 utan rest.

Föreställ dig att dela 3 med 2. Resten av divisionen är 1. Med %-operatorn ger 3 % 2 resten, vilket är 1. Så i uttrycket i % 2 == 0 är resultatet falskt eftersom resten inte är 0, vilket indikerar att 3 är ett udda tal.

Observera också hur vi satte villkoret för i. Algoritmen för våra åtgärder förblir densamma som tidigare, men i loopvillkoret begränsade vi i till ett värde av 30, enligt uppgiften.

1. Hur många iterationer kommer det att bli?

2. Hur många gånger kommer i att visas

question mark

Hur många iterationer kommer det att bli?

Select the correct answer

question mark

Hur många gånger kommer i att visas

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

bookFor-loop

Svep för att visa menyn

En stor nackdel med while-loopen är att det inte går att ange ett exakt antal iterationer och ha full kontroll över loopens körning. Därför finns for-loopen, som ger alla verktyg för korrekt loopkontroll och även används vid arbete med arrayer och samlingar.

for-loop

for-loopen är ett styrflödesuttryck som möjliggör upprepad körning av en kodblock under ett specificerat antal gånger. Den används ofta när det exakta antalet iterationer är känt eller vid iteration över en samling eller array.

Syntaxen för for-loopen i Java är följande:

Main.java

Main.java

copy
123
for (initialization; condition; update) { // code to be executed }

Om vi går steg för steg, så initierar vi först en variabel i en särskild sektion för detta (vi gjorde samma sak för while-loopen, men då utanför loopen). Därefter anger vi villkoret för när loopen ska köras (till exempel så länge variabeln är mindre än 10). Efter det använder vi en inkrementering eller dekrementering. Nedan finns ett flödesschema och en förklaring av hur varje del av loopens block fungerar:

Här är en uppdelning av varje del i for-loopen:

  • Initiering: detta är den initiala inställningen som utförs endast en gång i början av loopen. Vanligtvis deklarerar och initierar du en loopkontrollvariabel här. Till exempel, int i = 0;
  • Villkor: detta är villkoret som kontrolleras före varje iteration. Om villkoret är sant, körs loopens kodblock. Om villkoret är falskt, avslutas loopen. Till exempel, i < 10;
  • Inkrement-/dekrementuttryck: detta är koden som körs efter varje iteration. Vanligtvis uppdaterar du loopkontrollvariabeln här. Till exempel, i++ (vilket är ekvivalent med i = i + 1);
  • Kod inuti loopen: detta är kodblocket som körs för varje iteration av loopen. Du kan placera valfri giltig Java-kod inuti loopens kodblock.

Här är ett exempel som visar användningen av en for-loop:

Main.java

Main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("Iteration: " + i); } } }

I detta exempel kommer loopen att köras 10 gånger. Den startar med att i initialiseras till 0, kontrollerar om i är mindre än 10, kör loopens kropp och uppdaterar sedan i genom att öka den med 1. Denna process upprepas tills villkoret blir falskt.

Det är värt att notera att vi i denna loop kan använda variabeln vi skapade. I vårt fall skriver vi ut variabeln i för att visa iterationsnumret på skärmen.

Detta är mycket användbart, särskilt när vi behöver att vår variabel i ska användas i koden.

Låt oss titta på ett annat exempel där vi behöver visa endast jämna tal i intervallet från 1 till 30.

För att avgöra om ett tal är jämnt eller inte kommer vi att använda operatorn %. Operatorn % i Java används för att få resten av en division. Den hjälper till att kontrollera om ett tal delas jämnt med ett annat, vilket är användbart för att avgöra om ett tal är jämnt.

main.java

main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 30; i++) { if (i % 2 == 0) { // Check if `i` is even System.out.println(i); } } } }

Bra, i koden ovan använde vi variabeln i vid kontroll av villkoret. Med andra ord representerar i de tal vi överväger. Därefter kontrollerar vi om talet i är jämnt med hjälp av modulo-operationen (%). Om resten vid division med 2 är noll, är talet jämnt, vilket betyder att det är delbart med 2 utan rest.

Föreställ dig att dela 3 med 2. Resten av divisionen är 1. Med %-operatorn ger 3 % 2 resten, vilket är 1. Så i uttrycket i % 2 == 0 är resultatet falskt eftersom resten inte är 0, vilket indikerar att 3 är ett udda tal.

Observera också hur vi satte villkoret för i. Algoritmen för våra åtgärder förblir densamma som tidigare, men i loopvillkoret begränsade vi i till ett värde av 30, enligt uppgiften.

1. Hur många iterationer kommer det att bli?

2. Hur många gånger kommer i att visas

question mark

Hur många iterationer kommer det att bli?

Select the correct answer

question mark

Hur många gånger kommer i att visas

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
some-alt