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

bookFor-silmukka

Pyyhkäise näyttääksesi valikon

for-silmukka

for-silmukka on ohjauslause, jonka avulla voit suorittaa koodilohkon toistuvasti määritetyn määrän kertoja. Sitä käytetään yleisesti, kun toistojen määrä tiedetään tarkasti tai kun iteroidaan 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 }

Vaihe vaiheelta: ensin alustetaan muuttuja silmukan erityisessä osassa (toisin kuin while-silmukassa, jossa se tehdään silmukan ulkopuolella). Sen jälkeen määritellään ehto, jonka perusteella silmukka suoritetaan, esimerkiksi niin kauan kuin muuttuja on pienempi kuin 10. Lopuksi lisätään tai vähennetään muuttujan arvoa. Alla on vuokaavio ja selitys jokaisesta silmukan osasta.

Tässä on erittely for-silmukan jokaisesta osasta:

  • Alustus: tämä on alkuasetus, joka suoritetaan vain kerran silmukan alussa. Tyypillisesti tässä määritellään ja alustetaan silmukan ohjausmuuttuja. Esimerkiksi int i = 0;
  • Ehto: tämä on ehto, joka tarkistetaan ennen jokaista iteraatiota. Jos ehto on tosi, silmukan runko suoritetaan. Jos ehto on epätosi, silmukka päättyy. Esimerkiksi i < 10;
  • Lisäys/vähennyslauseke: tämä on koodi, joka suoritetaan jokaisen iteraation jälkeen. Tyypillisesti tässä päivitetään silmukan ohjausmuuttuja. Esimerkiksi i++ (joka on sama kuin i = i + 1);
  • Silmukan sisäinen koodi: tämä on 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 lisäämällä siihen 1. Tämä prosessi toistuu, kunnes ehto ei enää täyty.

Tarkastellaan toista esimerkkiä, jossa tulee näyttää vain parilliset luvut välillä 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 ehto i:lle on asetettu: logiikka pysyy samana, mutta silmukka rajoitetaan 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 1. Luku 19

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 1. Luku 19
some-alt