Java >> Java tutorial >  >> Tag >> break

Java fortsætter og bryder nøgleord

1. Oversigt

I denne hurtige artikel introducerer vi fortsæt og pause Java nøgleord og fokus på, hvordan du bruger dem i praksis.

Kort sagt forårsager udførelse af disse udsagn en forgrening af det aktuelle kontrolflow og afslutter eksekveringen af ​​koden i den aktuelle iteration.

2. pausen Erklæring

pausen erklæring kommer i to former:umærket og mærket.

2.1. Umærket pause

Vi kan bruge den umærkede sætning til at afslutte en for , mens eller gør-mens loop samt switch-case blokere:

for (int i = 0; i < 5; i++) {
    if (i == 3) {
        break;
    }
}

Dette uddrag definerer en for sløjfe, der formodes at gentage fem gange. Men når tæller er lig med 3, hvis tilstand bliver sand og pausen sætning afslutter løkken. Dette bevirker, at kontrolflowet overføres til den sætning, der følger efter slutningen af ​​for løkke.

I tilfælde af indlejrede sløjfer, et umærket brud sætning afslutter kun den indre løkke, som den er i . Ydre sløjfer fortsætter udførelse:

for (int rowNum = 0; rowNum < 3; rowNum++) {
    for (int colNum = 0; colNum < 4; colNum++) {
        if (colNum == 3) {
            break;
        }
    }
}

Dette uddrag har indlejret for sløjfer. Når colNum er lig med 3, hvis tilstanden evalueres til sand og pausen sætning forårsager den indre for sløjfe for at afslutte. Men den ydre for loop fortsætter med at iterere.

2.2. Mærket pause

Vi kan også bruge en mærket pause erklæring for at afslutte en for , mens eller gør-mens sløjfe. Et mærket pause afslutter den ydre sløjfe .

Ved afslutning overføres kontrolflowet til opgørelsen umiddelbart efter afslutningen af ​​den ydre sløjfe:

compare: 
for (int rowNum = 0; rowNum < 3; rowNum++) {
    for (int colNum = 0; colNum < 4; colNum++) {
        if (rowNum == 1 && colNum == 3) {
            break compare;
        }
    }
}

I dette eksempel introducerede vi en etiket lige før den ydre løkke. Når rowNum er lig med 1 og colNum er lig med 3, hvis tilstand evalueres til sand og pausen sætning afslutter den ydre sløjfe.

Kontrolflowet overføres derefter til sætningen efter slutningen af ​​ydre for løkke.

3. fortsæt Erklæring

fortsæt statement kommer også i to former:umærket og mærket.

3.1. Umærket fortsæt

Vi kan bruge en umærket sætning til at omgå udførelsen af ​​resten af ​​sætningerne i den aktuelle iteration af en for , mens eller gør-mens sløjfe. Den springer til slutningen af ​​den indre løkke og fortsætter løkken :

int counter = 0;
for (int rowNum = 0; rowNum < 3; rowNum++) {
    for (int colNum = 0; colNum < 4; colNum++) {
        if (colNum != 3) {
            continue;
        }
        counter++;
    }
}

I dette uddrag, når colNum er ikke lig med 3, den umærkede fortsæt sætning springer den aktuelle iteration over og omgår dermed stigningen af ​​variablen tæller i den iteration. Men den ydre for loop fortsætter med at iterere. Så stigningen på tæller sker kun, når colNum er lig med 3 i hver iteration af den ydre for løkke.

3.2. Mærket fortsæt

Vi kan også bruge et mærket fortsæt sætning, der springer den ydre løkke over. Ved overspringning overføres kontrolstrømmen til enden af ​​den ydre sløjfe, hvilket effektivt fortsætter iterationen af ​​den ydre sløjfe:

int counter = 0;
compare: 
for (int rowNum = 0; rowNum < 3; rowNum++) {
    for (int colNum = 0; colNum < 4; colNum++) {
        if (colNum == 3) {
            counter++;
            continue compare;
        }
    }
}

Vi introducerede en etiket lige før den ydre løkke. Hver gang colNum er lig med 3, variablen tæller er øget. Den mærkede fortsæt sætning forårsager iterationen af ​​ydre for sløjfe for at springe over.

Kontrolflowet overføres til enden af ​​den ydre for loop, som fortsætter med næste iteration.

4. Konklusion

I dette selvstudie har vi set forskellige måder at bruge søgeordene pause på og fortsæt som forgreningsudsagn i Java.

Den komplette kode, der præsenteres i denne artikel, er tilgængelig på GitHub.


Java tag