Tässä opetusohjelmassa opit Javan jatko- ja merkinnän jatko-lauseesta esimerkkien avulla.
Kun työskentelet silmukoiden kanssa, saatat joskus haluta ohittaa joitain lauseita tai lopettaa silmukan. Tällöin break
ja continue
lausuntoja käytetään.
Lisätietoja break
lauseesta on Java break -sivulla. Täällä opimme continue
lausunnosta.
Java jatka
continue
Lausunto ohittaa nykyisen iteraation silmukan ( for
, while
, do… while
, jne).
Jälkeen continue
selvitys, ohjelma siirtyy silmukan lopussa. Ja testilauseke arvioidaan (päivityslauseke arvioidaan for-silmukan tapauksessa).
Tässä on jatko-lauseen syntaksi.
continue;
Huomaa : Jatkolausetta käytetään melkein aina päätöksentekolausekkeissa (jos… muuten lausunto).
Java-jatkoselvityksen käyttö

Esimerkki 1: Java-jatko-lause
class Main ( public static void main(String() args) ( // for loop for (int i = 1; i <= 10; ++i) ( // if value of i is between 4 and 9 // continue is executed if (i> 4 && i < 9) ( continue; ) System.out.println(i); ) ) )
Tuotos :
1 2 3 4 9 10
Yllä olevassa ohjelmassa käytämme for
silmukkaa i-arvon tulostamiseen kussakin iteraatiossa. Jos haluat tietää, kuinka for
silmukka toimii, käy Java for loop -sovelluksessa. Huomaa lausunto,
if (i> 5 && i < 9) ( continue; )
Tässä continue
lauseke suoritetaan, kun i: n arvoksi tulee yli 4 ja alle 9 .
Sitten se ohittaa tulostuslausekkeen silmukan sisällä. Siksi saamme tuotoksen, jonka arvot 5 , 6 , 7 ja 8 ohitetaan.
Esimerkki 2: Laske 5 positiivisen luvun summa
import java.util.Scanner; class Main ( public static void main(String() args) ( Double number, sum = 0.0; // create an object of Scanner Scanner input = new Scanner(System.in); for (int i = 1; i < 6; ++i) ( System.out.print("Enter number " + i + " : "); // takes input from the user number = input.nextDouble(); // if number is negative // continue statement is executed if (number <= 0.0) ( continue; ) sum += number; ) System.out.println("Sum = " + sum); input.close(); ) )
Tuotos :
Syötä numero 1: 2.2 Syötä numero 2: 5.6 Syötä numero 3: 0 Syötä numero 4: -2.4 Syötä numero 5: -3 Summa = 7.8
Yllä olevassa esimerkissä olemme käyttäneet for-silmukkaa 5 positiivisen luvun summan tulostamiseen. Huomaa rivi,
if (number < 0.0) ( continue; )
Tässä, kun käyttäjä syöttää negatiivisen luvun, continue
käsky suoritetaan. Tämä ohittaa silmukan nykyisen iteroinnin ja vie ohjelman ohjauksen silmukan päivitysilmaisuun.
Huomaa : Ottaaksesi syötteen käyttäjältä olemme käyttäneet Scanner
objektia. Lisätietoja on Java Scannerissa.
Java jatkuu Nested Loopilla
Javan sisäkkäisten silmukoiden tapauksessa continue
käsky ohittaa sisimmän silmukan nykyisen iteroinnin.

Esimerkki 3: jatka sisäkkäisillä silmukoilla
class Main ( public static void main(String() args) ( int i = 1, j = 1; // outer loop while (i <= 3) ( System.out.println("Outer Loop: " + i); // inner loop while(j <= 3) ( if(j == 2) ( j++; continue; ) System.out.println("Inner Loop: " + j); j++; ) i++; ) ) )
Tuotos
Ulkosilmukka: 1 Sisäsilmukka: 1 Sisäsilmukka: 3 Ulkosilmukka: 2 Ulkosilmukka: 3
Yllä olevassa esimerkissä olemme käyttäneet sisäkkäistä while-silmukkaa. Huomaa, että olemme käyttäneet continue
lausetta sisäisen silmukan sisällä.
if(j == 2) ( j++; continue: )
Tässä, kun j: n arvo on 2 , j: n arvoa kasvatetaan ja continue
käsky suoritetaan.
Tämä ohittaa sisemmän silmukan iteroinnin. Siksi teksti Inner Loop: 2 ohitetaan lähdöstä.
Merkitty jatkoilmoitus
Tähän asti olemme käyttäneet merkitsemätöntä continue
lausetta. continue
Java-kielellä on kuitenkin toinen muoto, joka tunnetaan nimellä "jatko" .
Se sisältää silmukan etiketin continue
avainsanan kanssa. Esimerkiksi,
continue label;
Tässä continue
lauseke ohittaa tarran määrittelemän silmukan nykyisen iteroinnin.

Voimme nähdä, että tarratunniste määrittelee ulomman silmukan. Huomaa jatko-osan käyttö sisemmän silmukan sisällä.
Tässä continue
lauseke ohittaa leimatun lauseen (ts. Ulomman silmukan) nykyisen iteraation. Sitten ohjelman ohjaus siirtyy leimatun lauseen seuraavaan iterointiin.
Esimerkki 4: merkitty jatko-lause
class Main ( public static void main(String() args) ( // outer loop is labeled as first first: for (int i = 1; i < 6; ++i) ( // inner loop for (int j = 1; j < 5; ++j) ( if (i == 3 || j == 2) // skips the current iteration of outer loop continue first; System.out.println("i = " + i + "; j = " + j); ) ) ) )
Tuotos :
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
Yllä olevassa esimerkissä labeled continue
lausetta käytetään ohittamaan silmukan nykyinen iterointi, joka on merkitty ensimmäiseksi.
if (i==3 || j==2) continue first;
Täällä voimme nähdä, että uloin for
silmukka on merkitty ensimmäiseksi,
first: for (int i = 1; i < 6; ++i) (… )
Siksi ulomman for
silmukan iterointi ohitetaan, jos i: n arvo on 3 tai j: n arvo on 2.
Huomaa : Tunnisteiden käyttöä continue
ei suositella, koska se tekee koodistasi vaikeasti ymmärrettävän. Jos olet tilanteessa, jossa sinun on käytettävä merkintöjä continue
, korjaa koodi ja yritä ratkaista se toisella tavalla, jotta se olisi helpommin luettavissa.