Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele For-silmukka | Silmukat
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Perusteet

bookFor-silmukka

for-silmukka

for-silmukka on ohjausvirran lause, jonka avulla voit suorittaa koodilohkon toistuvasti määritetyn määrän kertoja. Sitä käytetään yleisesti, kun tiedät toistojen tarkan määrän tai kun iteroit kokoelman tai taulukon läpi.

for-silmukan syntaksi Javassa on seuraava:

Main.java

Main.java

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

Vaiheittain etenee siten, että ensin alustetaan muuttuja silmukan erityisessä osassa (toisin kuin while-silmukassa, jossa se tehdään silmukan ulkopuolella). Tämän jälkeen määritellään ehto, jonka perusteella silmukka suoritetaan, esimerkiksi niin kauan kuin muuttuja on pienempi kuin 10. Lopuksi suoritetaan inkrementointi tai dekrementointi. Alla on vuokaavio ja selitys jokaisesta silmukan osasta.

Tässä on jokaisen for-silmukan osan erittely:

  • Alustus: alkuasetus, joka suoritetaan vain kerran silmukan alussa. Tyypillisesti tässä määritellään ja alustetaan silmukan ohjausmuuttuja. Esimerkiksi int i = 0;
  • Ehto: ehto, jota tarkastellaan ennen jokaista iteraatiota. Jos ehto on tosi, silmukan runko suoritetaan. Jos ehto on epätosi, silmukka päättyy. Esimerkiksi i < 10;
  • Inkrementointi/dekrementointi: koodi, joka suoritetaan jokaisen iteraation jälkeen. Tyypillisesti tässä päivitetään silmukan ohjausmuuttuja. Esimerkiksi i++ (vastaa i = i + 1);
  • Silmukan sisäinen koodi: koodilohko, joka suoritetaan jokaisella silmukan iteraatiolla. Silmukan runkoon voi sijoittaa mitä tahansa kelvollista Java-koodia.

Tässä on esimerkki, joka havainnollistaa for-silmukan käyttöä:

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

Tässä esimerkissä silmukka suoritetaan 10 kertaa. Se alkaa, kun i alustetaan arvoon 0, tarkistaa onko i pienempi kuin 10, suorittaa silmukan rungon ja päivittää sitten i kasvattamalla sitä arvolla 1. Tämä prosessi toistuu, kunnes ehto ei enää täyty.

Tarkastellaan toista esimerkkiä, jossa täytyy näyttää vain parilliset luvut alueella 1–30.

Jotta voidaan määrittää, onko luku parillinen vai ei, käytetään % operaattoria. % operaattori Javassa palauttaa jakolaskun jakojäännöksen. Sen avulla voidaan tarkistaa, jakautuuko luku tasan toisella luvulla, mikä on hyödyllistä parillisuuden tarkistamisessa.

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

Yllä olevassa koodissa käytetään muuttujaa i ehtolauseessa, jossa i edustaa nykyistä lukua. Tämän jälkeen tarkistetaan, onko i parillinen käyttämällä jakojäännösoperaattoria (%). Jos i % 2 == 0, luku on parillinen, koska se on jaollinen kahdella ilman jakojäännöstä.

Esimerkiksi, kun 3 jaetaan 2:lla, jakojäännökseksi jää 1, joten 3 % 2 on 1, ja ehto ei täyty, mikä tarkoittaa, että 3 on pariton luku.

Huomaa myös, miten i:n ehto on asetettu: logiikka pysyy samana, mutta silmukka rajoittuu arvoihin enintään 30, kuten tehtävässä vaaditaan.

1. Kuinka monta iteraatiota suoritetaan?

2. Kuinka monta kertaa i tulostetaan

question mark

Kuinka monta iteraatiota suoritetaan?

Select the correct answer

question mark

Kuinka monta kertaa i tulostetaan

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

bookFor-silmukka

Pyyhkäise näyttääksesi valikon

for-silmukka

for-silmukka on ohjausvirran lause, jonka avulla voit suorittaa koodilohkon toistuvasti määritetyn määrän kertoja. Sitä käytetään yleisesti, kun tiedät toistojen tarkan määrän tai kun iteroit kokoelman tai taulukon läpi.

for-silmukan syntaksi Javassa on seuraava:

Main.java

Main.java

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

Vaiheittain etenee siten, että ensin alustetaan muuttuja silmukan erityisessä osassa (toisin kuin while-silmukassa, jossa se tehdään silmukan ulkopuolella). Tämän jälkeen määritellään ehto, jonka perusteella silmukka suoritetaan, esimerkiksi niin kauan kuin muuttuja on pienempi kuin 10. Lopuksi suoritetaan inkrementointi tai dekrementointi. Alla on vuokaavio ja selitys jokaisesta silmukan osasta.

Tässä on jokaisen for-silmukan osan erittely:

  • Alustus: alkuasetus, joka suoritetaan vain kerran silmukan alussa. Tyypillisesti tässä määritellään ja alustetaan silmukan ohjausmuuttuja. Esimerkiksi int i = 0;
  • Ehto: ehto, jota tarkastellaan ennen jokaista iteraatiota. Jos ehto on tosi, silmukan runko suoritetaan. Jos ehto on epätosi, silmukka päättyy. Esimerkiksi i < 10;
  • Inkrementointi/dekrementointi: koodi, joka suoritetaan jokaisen iteraation jälkeen. Tyypillisesti tässä päivitetään silmukan ohjausmuuttuja. Esimerkiksi i++ (vastaa i = i + 1);
  • Silmukan sisäinen koodi: koodilohko, joka suoritetaan jokaisella silmukan iteraatiolla. Silmukan runkoon voi sijoittaa mitä tahansa kelvollista Java-koodia.

Tässä on esimerkki, joka havainnollistaa for-silmukan käyttöä:

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

Tässä esimerkissä silmukka suoritetaan 10 kertaa. Se alkaa, kun i alustetaan arvoon 0, tarkistaa onko i pienempi kuin 10, suorittaa silmukan rungon ja päivittää sitten i kasvattamalla sitä arvolla 1. Tämä prosessi toistuu, kunnes ehto ei enää täyty.

Tarkastellaan toista esimerkkiä, jossa täytyy näyttää vain parilliset luvut alueella 1–30.

Jotta voidaan määrittää, onko luku parillinen vai ei, käytetään % operaattoria. % operaattori Javassa palauttaa jakolaskun jakojäännöksen. Sen avulla voidaan tarkistaa, jakautuuko luku tasan toisella luvulla, mikä on hyödyllistä parillisuuden tarkistamisessa.

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

Yllä olevassa koodissa käytetään muuttujaa i ehtolauseessa, jossa i edustaa nykyistä lukua. Tämän jälkeen tarkistetaan, onko i parillinen käyttämällä jakojäännösoperaattoria (%). Jos i % 2 == 0, luku on parillinen, koska se on jaollinen kahdella ilman jakojäännöstä.

Esimerkiksi, kun 3 jaetaan 2:lla, jakojäännökseksi jää 1, joten 3 % 2 on 1, ja ehto ei täyty, mikä tarkoittaa, että 3 on pariton luku.

Huomaa myös, miten i:n ehto on asetettu: logiikka pysyy samana, mutta silmukka rajoittuu arvoihin enintään 30, kuten tehtävässä vaaditaan.

1. Kuinka monta iteraatiota suoritetaan?

2. Kuinka monta kertaa i tulostetaan

question mark

Kuinka monta iteraatiota suoritetaan?

Select the correct answer

question mark

Kuinka monta kertaa i tulostetaan

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
some-alt