single
While-silmukka
Pyyhkäise näyttääksesi valikon
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 }
while-silmukka toimii seuraavasti:
- Ehto tarkistetaan ennen jokaista iteraatiota; jos se on tosi, silmukka suoritetaan, jos epätosi, silmukka päättyy;
- Silmukka voi sisältää yhden tai useampia lauseita, jotka suoritetaan toistuvasti niin kauan kuin ehto on tosi;
- Varmista, että ehto muuttuu lopulta epätodeksi, jotta vältetään ikuinen silmukka.
Tässä esimerkki, joka havainnollistaa while-silmukan toimintaa:
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)); } }
Silmukassamme asetamme ehdon seuraavasti: 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 yhtä suuret, while-silmukka lopetetaan.
while-silmukka on hyödyllinen, kun toistojen määrää ei tiedetä etukäteen ja se riippuu tietystä ehdosta. Sen avulla voidaan toistaa koodilohko, kunnes ehto ei enää täyty.
Pyyhkäise aloittaaksesi koodauksen
Etsi summa lukuväliltä 1:stä n:ään.
- Luo metodi nimeltä
sumFrom1ToN(int n)qui palauttaa tyypiltäänint-arvon. - Määrittele metodin sisällä kaksi muuttujaa:
sum(kokonaismäärän tallentamiseen).current(alkaa arvosta1).
- Käytä
while-silmukkaa toistaaksesi seuraavat vaiheet kunnescurrenton suurempi kuinn:- Lisää
current-arvosum-muuttujaan. - Kasvata
currentarvoa 1.
- Lisää
- Palauta lopuksi
sum.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme