Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For-Each-slinga | Arrayer
Java-Grunder

bookFor-Each-slinga

Du kanske undrar varför vi tar upp denna loop i avsnittet om arrayer. Det beror på att denna loop är särskilt utformad för användning med arrayer eller samlingar. Du kommer att fördjupa dig i samlingar i en separat kurs.

Vad är en for-each-loop?

For-each-loopen, även kallad förbättrad for-loop, erbjuder ett kortfattat och förenklat sätt att iterera över element i en array eller någon itererbar samling i Java. Den eliminerar behovet av explicit indexering och förenklar koden.

Syntaxen för denna loop är följande:

Main.java

Main.java

copy
123
for (ElementType variable : iterable) { // Code to be executed for each element }

Förklaring av varje element:

  • ElementType: datatypen för elementen i arrayen;
  • variable: en variabel som representerar varje arrayelement vid varje iteration;
  • iterable: arrayen eller den itererbara samlingen som ska itereras över.

for-each loopen itererar automatiskt över varje element i arrayen eller den itererbara samlingen, och tilldelar det till variabeln vid varje iteration tills alla element har bearbetats.

Här är ett exempel på användning av en for-each loop:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; for (int element : array) { System.out.println(element); } } }

Vi kan också utföra operationer på varje element i en array med hjälp av en for-each loop. Låt oss titta på ett exempel:

Du behöver multiplicera varje element i en double-array med 3 och visa resultatet på skärmen med hjälp av en for-each loop.

Main.java

Main.java

copy
123456789101112
package com.example; public class Main { public static void main(String[] args) { double[] array = {1.5, 2.0, 3.4, 4.5, 5.0}; for (double element : array) { element = element * 3; System.out.println(element); } } }

Som du kan se multiplicerar vi varje element med 3 utan att använda indexering, genom att använda satsen element = element * 3;.

Uppgift

Swipe to start coding

Föreställ dig att du arbetar i ett lager, och du får en array som innehåller vikterna på paket.
Din uppgift är att skriva ett program som kontrollerar om det finns några paket med negativa vikter.

  1. Använd en for-each-loop för att iterera genom alla paketvikter.
  2. Inuti loopen, kontrollera om den aktuella vikten är negativ (< 0).
  3. Om en negativ vikt hittas, avsluta loopen och returnera false.
  4. Om alla värden är icke-negativa, returnera true.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6
single

single

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

close

bookFor-Each-slinga

Svep för att visa menyn

Du kanske undrar varför vi tar upp denna loop i avsnittet om arrayer. Det beror på att denna loop är särskilt utformad för användning med arrayer eller samlingar. Du kommer att fördjupa dig i samlingar i en separat kurs.

Vad är en for-each-loop?

For-each-loopen, även kallad förbättrad for-loop, erbjuder ett kortfattat och förenklat sätt att iterera över element i en array eller någon itererbar samling i Java. Den eliminerar behovet av explicit indexering och förenklar koden.

Syntaxen för denna loop är följande:

Main.java

Main.java

copy
123
for (ElementType variable : iterable) { // Code to be executed for each element }

Förklaring av varje element:

  • ElementType: datatypen för elementen i arrayen;
  • variable: en variabel som representerar varje arrayelement vid varje iteration;
  • iterable: arrayen eller den itererbara samlingen som ska itereras över.

for-each loopen itererar automatiskt över varje element i arrayen eller den itererbara samlingen, och tilldelar det till variabeln vid varje iteration tills alla element har bearbetats.

Här är ett exempel på användning av en for-each loop:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; for (int element : array) { System.out.println(element); } } }

Vi kan också utföra operationer på varje element i en array med hjälp av en for-each loop. Låt oss titta på ett exempel:

Du behöver multiplicera varje element i en double-array med 3 och visa resultatet på skärmen med hjälp av en for-each loop.

Main.java

Main.java

copy
123456789101112
package com.example; public class Main { public static void main(String[] args) { double[] array = {1.5, 2.0, 3.4, 4.5, 5.0}; for (double element : array) { element = element * 3; System.out.println(element); } } }

Som du kan se multiplicerar vi varje element med 3 utan att använda indexering, genom att använda satsen element = element * 3;.

Uppgift

Swipe to start coding

Föreställ dig att du arbetar i ett lager, och du får en array som innehåller vikterna på paket.
Din uppgift är att skriva ett program som kontrollerar om det finns några paket med negativa vikter.

  1. Använd en for-each-loop för att iterera genom alla paketvikter.
  2. Inuti loopen, kontrollera om den aktuella vikten är negativ (< 0).
  3. Om en negativ vikt hittas, avsluta loopen och returnera false.
  4. Om alla värden är icke-negativa, returnera true.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6
single

single

some-alt