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

bookDo-While-silmukka

Mikä on ero while- ja do-while-silmukoiden välillä?

do-while-silmukka on toinen silmukkamuoto Javassa, joka muistuttaa while-silmukkaa. Siinä on kuitenkin yksi merkittävä ero: ehto tarkistetaan jokaisen iteraation lopussa. Tämä tarkoittaa, että koodilohko suoritetaan aina vähintään kerran ennen ehdon arviointia.

Tässä on do-while-silmukan perussyntaksi:

Main.java

Main.java

copy
123
do { // Code block } while (condition);

Tässä on joitakin keskeisiä seikkoja do-while-silmukasta:

  • Suorituksen kulku: koodilohko suoritetaan ensin, sitten tarkistetaan ehto; jos ehto on tosi, silmukka jatkuu, muuten se päättyy;
  • Taattu suoritus: silmukka suoritetaan aina vähintään kerran, koska ehto tarkistetaan suorituksen jälkeen;
  • Muuttujien näkyvyys: silmukan sisällä määritellyt muuttujat ovat käytettävissä vain silmukan sisällä;
  • Käyttötapaukset: hyödyllinen, kun koodia täytyy suorittaa vähintään kerran, esimerkiksi käyttäjän syötteen pyytämisessä tai listan läpikäynnissä.

Tarkastellaan yksinkertaista esimerkkiä käytöstä ja vertaillaan while- ja do-while-silmukoiden tuloksia hyvin perusmuotoisessa esimerkissä:

main.java

main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { do { System.out.println("Do-while loop executed successfully"); } while (1 < 0); } }

while-silmukka:

main.java

main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { while (1 < 0) { System.out.println("While loop executed successfully"); } } }

Voimme havaita, että suoritettaessa do-while-silmukkaa ehdolla, joka on aina false, silmukan runko suoritettiin kerran, kun taas while-silmukka antoi meille virheen.

1. Mikä on koodin tuloste?

2. Mikä on koodin tuloste?

question mark

Mikä on koodin tuloste?

Select the correct answer

question mark

Mikä on koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain more about when to use a do-while loop instead of a while loop?

What are some common mistakes to avoid with do-while loops?

Can you show a simple code example comparing while and do-while loops?

bookDo-While-silmukka

Pyyhkäise näyttääksesi valikon

Mikä on ero while- ja do-while-silmukoiden välillä?

do-while-silmukka on toinen silmukkamuoto Javassa, joka muistuttaa while-silmukkaa. Siinä on kuitenkin yksi merkittävä ero: ehto tarkistetaan jokaisen iteraation lopussa. Tämä tarkoittaa, että koodilohko suoritetaan aina vähintään kerran ennen ehdon arviointia.

Tässä on do-while-silmukan perussyntaksi:

Main.java

Main.java

copy
123
do { // Code block } while (condition);

Tässä on joitakin keskeisiä seikkoja do-while-silmukasta:

  • Suorituksen kulku: koodilohko suoritetaan ensin, sitten tarkistetaan ehto; jos ehto on tosi, silmukka jatkuu, muuten se päättyy;
  • Taattu suoritus: silmukka suoritetaan aina vähintään kerran, koska ehto tarkistetaan suorituksen jälkeen;
  • Muuttujien näkyvyys: silmukan sisällä määritellyt muuttujat ovat käytettävissä vain silmukan sisällä;
  • Käyttötapaukset: hyödyllinen, kun koodia täytyy suorittaa vähintään kerran, esimerkiksi käyttäjän syötteen pyytämisessä tai listan läpikäynnissä.

Tarkastellaan yksinkertaista esimerkkiä käytöstä ja vertaillaan while- ja do-while-silmukoiden tuloksia hyvin perusmuotoisessa esimerkissä:

main.java

main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { do { System.out.println("Do-while loop executed successfully"); } while (1 < 0); } }

while-silmukka:

main.java

main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { while (1 < 0) { System.out.println("While loop executed successfully"); } } }

Voimme havaita, että suoritettaessa do-while-silmukkaa ehdolla, joka on aina false, silmukan runko suoritettiin kerran, kun taas while-silmukka antoi meille virheen.

1. Mikä on koodin tuloste?

2. Mikä on koodin tuloste?

question mark

Mikä on koodin tuloste?

Select the correct answer

question mark

Mikä on koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt