Istruzioni di diramazione
break e continue nelle azioni.IRL supporta due istruzioni di diramazione: l'istruzione break e quella continue .
Pausa
L'istruzione break termina un loop for o while quando l'istruzione viene trovata. In un loop for , ad esempio, il flusso di controllo trasferisce all'istruzione che segue il fordi inclusione, come mostrato di seguito:
then {
int ?i = 1;
int ?j = 1;
for ( ?i = 1; ?i <= 3; ?i++ ) {
System.out.println("\ni= " + ?i + ": ");
for ( ?j = 1; ?j <= 3; ?j++ ) {
System.out.println(" j = " + ?j) ;
if ( ?i == ?j ) {
break;
}
}
}
}L'istruzione break termina solo il loop in cui esiste. Se due loop sono nidificati, un break nel loop interno esce dal loop interno ma non dal loop esterno. L'output dell'esempio precedente è mostrato di seguito:
i= 1: j = 1 i= 2: j = 1 j = 2 i= 3: j = 1 j = 2 j = 3
Continua
Utilizzare l'istruzione continue per ignorare l'iterazione corrente di un loop for o while . Invece di terminare il loop come l'istruzione break , l'istruzione continue ignora tutte le seguenti istruzioni nel corpo del loop ed esegue l'iterazione successiva del loop. L'istruzione continue è illustrata nel seguente esempio.
then {
StringBuffer ?whitePaper = new StringBuffer(
"The Case for Business Users of Information Technology");
int ?max = ?whitePaper.length();
int ?numSs = 0;
int ?i = 0;
for (?i = 0; ?i < ?max; ?i++) {
if (?whitePaper.charAt(?i) != 's'){
continue;
}
?numSs++;
?whitePaper.setCharAt(?i, 'S');
}
System.out.println("Found " + ?numSs + " s's in the string.\n");
System.out.println(?whitePaper);
}Ecco l'output:
Trovati 6 s nella stringa. La CaSe per gli USerS BuSineSS della tecnologia dell'informazione
L'esempio passa attraverso un buffer di stringa che controlla ogni lettera. Se il carattere corrente non è un s, l'istruzione continue ignora il resto delle istruzioni nel loop e passa all'iterazione successiva per verificare il carattere successivo. Se si tratta di un s, la regola incrementa un contatore e converte il s in maiuscolo.