break ja continue
Ohita iteraatioita ja poistu niistä.
break ja continue on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.
Miksi silmukan kulkua ohjataan
Silmukat toistavat koodia, mutta joskus silmukka täytyy lopettaa aikaisin tai jokin alkio ohittaa.
Java tarjoaa tähän kaksi yksinkertaista työkalua: break lopettaa silmukan kokonaan, ja continue siirtyy seuraavaan kierrokseen.
Tässä oppitunnissa opitte tarkalleen, milloin kumpikin suoritetaan ja miten ne muuttavat silmukan kulkua.
break-lause
Avainsana break pysäyttää lähimmän silmukan välittömästi.
Suoritus siirtyy silmukan jälkeiselle ensimmäiselle riville. Jäljellä olevat iteraatiot jätetään suorittamatta.
Alla oleva silmukka pysähtyy heti, kun i saavuttaa arvon 3.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
System.out.println("i = " + i);
}
System.out.println("Done");
}
}Mitä break tulosti
Ohjelma tulosti i = 1 ja i = 2 ja sen jälkeen Done.
Kun i sai arvon 3, break suoritettiin, joten arvoja 3, 4 ja 5 ei koskaan tulostettu.
break sopii erinomaisesti tilanteisiin, joissa olette löytäneet tarvitsemanne ja haluatte lopettaa etsinnän.
continue-lause
Avainsana continue ohittaa nykyisen iteraation loppuosan.
Silmukka ei pysähdy, vaan suoritus palaa silmukan alkuun ja kokeilee seuraavaa arvoa.
Tässä ohitamme numeron 3 mutta jatkamme silmukan suorittamista.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println("i = " + i);
}
}
}Mitä continue tulosti
Tuloste oli 1, 2, 4, 5. Arvo 3 ohitettiin, mutta silmukan suoritus jatkui.
Tämä on keskeinen ero: break poistuu silmukasta, kun taas continue ohittaa vain yhden iteraation.
Parillisten lukujen ohittaminen
continuea käytetään usein suodattamiseen. Ohitamme arvot, joista emme ole kiinnostuneita.
Tämä silmukka tulostaa vain parittomat luvut siirtymällä seuraavaan iteraatioon aina, kun luku on parillinen.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 8; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}break while-silmukassa
break ja continue toimivat kaikissa silmukkalajeissa: for-, while- ja do-while-silmukoissa.
Tämä while-silmukka kasvattaa laskuria, mutta poistuu heti, kun summa ylittää arvon 10.
public class Main {
public static void main(String[] args) {
int total = 0;
int n = 1;
while (true) {
total += n;
if (total > 10) {
break;
}
n++;
}
System.out.println("Stopped at total = " + total);
}
}break poistuu vain yhdestä silmukasta
Tärkeä sääntö: tavallinen break poistuu vain sitä ympäröivästä sisimmästä silmukasta.
Jos silmukka on toisen silmukan sisällä, break poistuu sisemmästä silmukasta. Ulompi silmukka jatkaa suorittamista.
Tarkastelkaa tätä sisäkkäistä esimerkkiä huolellisesti.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
break;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}Sisäkkäisen break-lauseen tulos
break pysäytti vain sisemmän sarakesilmukan, joten jokaisella rivillä tulostui ainoastaan col 1.
Ulompi rivisilmukka jatkui kaikkien kolmen rivin ajan.
Jos haluatte poistua molemmista silmukoista samalla kertaa, tarvitsette nimetyn break-lauseen, jota käsitellään seuraavassa oppitunnissa.
continue vaikuttaa myös lähimpään silmukkaan
Aivan kuten break, tavallinen continue vaikuttaa vain suoraan sitä ympäröivään silmukkaan.
Sisäkkäisissä silmukoissa continue siirtyy sisemmän silmukan seuraavaan iteraatioon, ei ulomman silmukan seuraavaan iteraatioon.
Muistakaa tämä, kun logiikka ulottuu kahteen silmukkaan.
public class Main {
public static void main(String[] args) {
for (int a = 1; a <= 2; a++) {
for (int b = 1; b <= 3; b++) {
if (b == 2) {
continue;
}
System.out.println(a + "-" + b);
}
}
}
}Nopea mielikuva
Kuvitelkaa silmukka radaksi, jota juoksette ympäri.
break = poistukaa radalta ja lähtekää pois. continue = hypätkää seuraavan kierroksen lähtöviivalle.
Kumpikin vaikuttaa vain siihen rataan, jolla parhaillaan olette, ei koskaan sen ulkopuoliseen rataan.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte breakin ja continuen eron.
Kertaus
Opitte, että break poistuu lähimmästä silmukasta ja continue siirtyy sen seuraavaan iteraatioon.
Sisäkkäisissä silmukoissa kumpikin vaikuttaa vain sisimpään silmukkaan. Jos haluatte ohjata ulompaa silmukkaa, tarvitsette nimilappuja, joita käsittelette seuraavaksi.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”break ja continue” ilmainen?
Kyllä – oppitunnin ”break ja continue” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”break ja continue”?
Ohita iteraatioita ja poistu niistä. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”break ja continue”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- break ja continue
- Nimetty break
- Nimetty continue
- Spagetti-etenemisen välttäminen