Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele For-Each-Silmukka | Taulukot
Java Perusteet

bookFor-Each-Silmukka

Saatat miettiä, miksi käsittelemme tätä silmukkaa taulukoihin liittyvässä osiossa. Tämä johtuu siitä, että kyseinen silmukka on erityisesti suunniteltu käytettäväksi taulukoiden tai kokoelmien kanssa. Tutustut kokoelmiin tarkemmin toisella kurssilla.

Mikä on for-each-silmukka?

For-each-silmukka, jota kutsutaan myös parannetuksi for-silmukaksi, tarjoaa tiiviin ja yksinkertaistetun tavan käydä läpi taulukon tai minkä tahansa iteroitavan kokoelman alkioita Javassa. Se poistaa tarpeen käyttää eksplisiittistä indeksointia ja yksinkertaistaa koodia.

Tämän silmukan syntaksi on seuraava:

Main.java

Main.java

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

Kunkin elementin selitys:

  • ElementType: taulukon alkioiden tietotyyppi;
  • variable: muuttuja, joka edustaa kutakin taulukon alkiota jokaisella iteraatiolla;
  • iterable: taulukko tai iteroitava kokoelma, jota haluat käydä läpi.

for-each silmukka käy automaattisesti läpi jokaisen taulukon tai iteroitavan kokoelman alkion, asettaen sen muuttujaan jokaisella iteraatiolla, kunnes kaikki alkiot on käsitelty.

Tarkastellaan esimerkkiä for-each silmukan käytöstä:

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

Voimme suorittaa operaatioita jokaiselle taulukon alkiolle käyttämällä for-each silmukkaa. Tarkastellaan esimerkkitehtävää:

Jokainen double-taulukon alkio tulee kertoa 3:lla ja tulostaa tulos näytölle käyttäen for-each silmukkaa.

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

Kuten huomaat, kerromme jokaisen alkion 3:lla ilman indeksointia, käyttäen lausetta element = element * 3;.

Tehtävä

Swipe to start coding

Kuvittele työskenteleväsi varastossa, ja sinulle annetaan taulukko, joka sisältää pakettien painot.
Tehtävänäsi on kirjoittaa ohjelma, joka tarkistaa, onko joukossa negatiivisia painoja.

  1. Käytä for-each-silmukkaa käydäksesi läpi kaikki pakettien painot.
  2. Silmukan sisällä tarkista, onko nykyinen paino negatiivinen (< 0).
  3. Jos negatiivinen paino löytyy, poistu silmukasta ja palauta false.
  4. Jos kaikki arvot ovat nollia tai positiivisia, palauta true.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

bookFor-Each-Silmukka

Pyyhkäise näyttääksesi valikon

Saatat miettiä, miksi käsittelemme tätä silmukkaa taulukoihin liittyvässä osiossa. Tämä johtuu siitä, että kyseinen silmukka on erityisesti suunniteltu käytettäväksi taulukoiden tai kokoelmien kanssa. Tutustut kokoelmiin tarkemmin toisella kurssilla.

Mikä on for-each-silmukka?

For-each-silmukka, jota kutsutaan myös parannetuksi for-silmukaksi, tarjoaa tiiviin ja yksinkertaistetun tavan käydä läpi taulukon tai minkä tahansa iteroitavan kokoelman alkioita Javassa. Se poistaa tarpeen käyttää eksplisiittistä indeksointia ja yksinkertaistaa koodia.

Tämän silmukan syntaksi on seuraava:

Main.java

Main.java

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

Kunkin elementin selitys:

  • ElementType: taulukon alkioiden tietotyyppi;
  • variable: muuttuja, joka edustaa kutakin taulukon alkiota jokaisella iteraatiolla;
  • iterable: taulukko tai iteroitava kokoelma, jota haluat käydä läpi.

for-each silmukka käy automaattisesti läpi jokaisen taulukon tai iteroitavan kokoelman alkion, asettaen sen muuttujaan jokaisella iteraatiolla, kunnes kaikki alkiot on käsitelty.

Tarkastellaan esimerkkiä for-each silmukan käytöstä:

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

Voimme suorittaa operaatioita jokaiselle taulukon alkiolle käyttämällä for-each silmukkaa. Tarkastellaan esimerkkitehtävää:

Jokainen double-taulukon alkio tulee kertoa 3:lla ja tulostaa tulos näytölle käyttäen for-each silmukkaa.

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

Kuten huomaat, kerromme jokaisen alkion 3:lla ilman indeksointia, käyttäen lausetta element = element * 3;.

Tehtävä

Swipe to start coding

Kuvittele työskenteleväsi varastossa, ja sinulle annetaan taulukko, joka sisältää pakettien painot.
Tehtävänäsi on kirjoittaa ohjelma, joka tarkistaa, onko joukossa negatiivisia painoja.

  1. Käytä for-each-silmukkaa käydäksesi läpi kaikki pakettien painot.
  2. Silmukan sisällä tarkista, onko nykyinen paino negatiivinen (< 0).
  3. Jos negatiivinen paino löytyy, poistu silmukasta ja palauta false.
  4. Jos kaikki arvot ovat nollia tai positiivisia, palauta true.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
single

single

some-alt