While-silmukka
Edellisessä luvussa näit, että silmukan avulla koodi toistettiin 10 kertaa. Tarkastellaan nyt yhden tällaisen silmukan syntaksia.
while-silmukka
while-silmukka on yksinkertaisin esimerkki silmukan toiminnasta. Tämä silmukka suorittaa koodilohkon toistuvasti niin kauan kuin condition-lohkon ehto arvioituu arvoksi true. Kun ehto palauttaa arvon false, silmukan suoritus päättyy.
Main.java
123while (condition) { // code to be executed }
Tämän silmukan toimintaperiaatteen muistamiseksi voit noudattaa yksinkertaista sääntöä: Niin kauan kuin ehto on tosi, suorita toiminto. Esimerkiksi, niin kauan kuin sataa, käytän sateenvarjoa. Heti kun sade lakkaa, kuljen ilman sateenvarjoa.
Sataa - condition
Käytän sateenvarjoa - silmukan sisällä suoritettava koodi
Sade on lakannut - kääntäjä poistuu silmukasta ja lopettaa koodin suorittamisen silmukan sisällä.
Tarkastellaan nyt yksityiskohtaisemmin, miten while-silmukka toimii:
-
Ehto arvioidaan ennen jokaista toistoa. Jos ehto on tosi, silmukan sisällä oleva koodilohko suoritetaan. Jos ehto on epätosi, silmukka päättyy ja ohjelma jatkuu seuraavalla silmukan jälkeisellä lauseella;
-
Silmukan sisällä oleva koodilohko voi sisältää yhden tai useamman lauseen. Nämä lauseet suoritetaan toistuvasti niin kauan kuin ehto pysyy totena;
-
On tärkeää varmistaa, että ehto muuttuu lopulta epätodeksi, muuten silmukka jatkuu loputtomasti ja aiheuttaa äärettömän silmukan.
Tässä on esimerkki, joka havainnollistaa while-silmukkaa:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 10; while (a != b) { a = a + 1; System.out.println("a has value: " + a); b = b - 1; System.out.println("b has value: " + b); } System.out.println("Is a equal to b: " + (a == b)); } }
Tässä koodissa on kaksi muuttujaa tyyppiä int. Silmukassa asetetaan ehto: niin kauan kuin muuttujan a arvo ei ole yhtä suuri kuin muuttujan b arvo, kasvatetaan muuttujaa a ja pienennetään muuttujaa b. Kun niiden arvot ovat samat, while-silmukka lopetetaan.
Swipe to start coding
Laske summa lukuväliltä 1 n:ään.
- Luo metodi nimeltä
sumFrom1ToN(int n), joka palauttaaint-tyyppisen tuloksen. - Määrittele metodin sisällä kaksi muuttujaa:
sum(kokonaissumman tallentamiseen).current(alkaa arvosta 1).
- Käytä
while-silmukkaa toistaaksesi seuraavat vaiheet kunnescurrenton suurempi kuinn:- Lisää
current-muuttujan arvosum-muuttujaan. - Kasvata
currentarvoa1yksiköllä.
- Lisää
- Palauta lopuksi
sum.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
While-silmukka
Pyyhkäise näyttääksesi valikon
Edellisessä luvussa näit, että silmukan avulla koodi toistettiin 10 kertaa. Tarkastellaan nyt yhden tällaisen silmukan syntaksia.
while-silmukka
while-silmukka on yksinkertaisin esimerkki silmukan toiminnasta. Tämä silmukka suorittaa koodilohkon toistuvasti niin kauan kuin condition-lohkon ehto arvioituu arvoksi true. Kun ehto palauttaa arvon false, silmukan suoritus päättyy.
Main.java
123while (condition) { // code to be executed }
Tämän silmukan toimintaperiaatteen muistamiseksi voit noudattaa yksinkertaista sääntöä: Niin kauan kuin ehto on tosi, suorita toiminto. Esimerkiksi, niin kauan kuin sataa, käytän sateenvarjoa. Heti kun sade lakkaa, kuljen ilman sateenvarjoa.
Sataa - condition
Käytän sateenvarjoa - silmukan sisällä suoritettava koodi
Sade on lakannut - kääntäjä poistuu silmukasta ja lopettaa koodin suorittamisen silmukan sisällä.
Tarkastellaan nyt yksityiskohtaisemmin, miten while-silmukka toimii:
-
Ehto arvioidaan ennen jokaista toistoa. Jos ehto on tosi, silmukan sisällä oleva koodilohko suoritetaan. Jos ehto on epätosi, silmukka päättyy ja ohjelma jatkuu seuraavalla silmukan jälkeisellä lauseella;
-
Silmukan sisällä oleva koodilohko voi sisältää yhden tai useamman lauseen. Nämä lauseet suoritetaan toistuvasti niin kauan kuin ehto pysyy totena;
-
On tärkeää varmistaa, että ehto muuttuu lopulta epätodeksi, muuten silmukka jatkuu loputtomasti ja aiheuttaa äärettömän silmukan.
Tässä on esimerkki, joka havainnollistaa while-silmukkaa:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 10; while (a != b) { a = a + 1; System.out.println("a has value: " + a); b = b - 1; System.out.println("b has value: " + b); } System.out.println("Is a equal to b: " + (a == b)); } }
Tässä koodissa on kaksi muuttujaa tyyppiä int. Silmukassa asetetaan ehto: niin kauan kuin muuttujan a arvo ei ole yhtä suuri kuin muuttujan b arvo, kasvatetaan muuttujaa a ja pienennetään muuttujaa b. Kun niiden arvot ovat samat, while-silmukka lopetetaan.
Swipe to start coding
Laske summa lukuväliltä 1 n:ään.
- Luo metodi nimeltä
sumFrom1ToN(int n), joka palauttaaint-tyyppisen tuloksen. - Määrittele metodin sisällä kaksi muuttujaa:
sum(kokonaissumman tallentamiseen).current(alkaa arvosta 1).
- Käytä
while-silmukkaa toistaaksesi seuraavat vaiheet kunnescurrenton suurempi kuinn:- Lisää
current-muuttujan arvosum-muuttujaan. - Kasvata
currentarvoa1yksiköllä.
- Lisää
- Palauta lopuksi
sum.
Ratkaisu
Kiitos palautteestasi!
single