Java supporta tre istruzioni di salto:
- break
- continue
- return
Alle prime due istruzioni può essere associata un’etichetta
(label), che non è altro che un identificatore posto prima di
un’istruzione e seguito dal carattere “due punti”
( : ), con una sintassi del tipo:
etichetta: istruzione;
L’istruzione break, già vista in azione all’interno
dell’istruzione switch (vedi lezione 25),
può essere utilizzata nelle due forme, con o senza etichetta,
in base alle specifiche esigenze dell’algoritmo che si sta
implementando.
In precedenza abbiamo visto che il comando break termina
l’esecuzione del corpo dell’istruzione switch
trasferendo il controllo all’istruzione immediatamente successiva
allo switch.
La forma non etichettata dell’istruzione break può
essere utilizzata anche per teminare cicli for, while
o do-while; mentre la forma etichettata permette non solo
di terminare il ciclo, ma anche di terminare l’istruzione
etichettata con la label indicata nell’istruzione
break.
L’uso di break con etichetta può portare facilmente
a confusione ed errori, per cui è bene ridurre al minimo il suo
utilizzo; il solo caso in cui è consigliabile è quello in cui
occorre gestire una serie di cicli annidati.
L’istruzione continue viene utilizzata per saltare
l’iterazione corrente di un ciclo for, while
o do-while.
Nella forma senza etichetta salta alla fine del corpo più interno
del ciclo e valuta l’espressione booleana che controlla
il ciclo: se vale true rientra nel ciclo, altrimenti il
ciclo viene terminato.
Nella forma con etichetta provoca la terminazione di un ciclo
più esterno etichettato con la label specificata.
Compilato ed eseguito questo codice, non dovrebbe essere difficile
esaminare l’output ottenuto e ottenere da esso il comportamento
delle istruzioni di salto: come esercizio provate a creare altre
applicazioni che utilizzano entrambe le forme di break e
continue.
Infine, l’istruzione di salto return viene utilizzata
per uscire dal metodo corrente e ritornare indietro al metodo
contenente l’istruzione che ne ha provocato l’invocazione.
Abbiamo già visto l’utilizzo di return nelle lezioni
8
e 9
e in alcune di quelle successive, per cui si dovrebbe avere familiarità
con questo comando; comunque può far bene ricordare che l’istruzione
return può ritornare un valore al chiamante semplicemente
mettendo tale valore (o l’espressione che lo calcola) subito
dopo la parola chiave return.
Il valore deve essere del tipo di ritorno indicato dal metodo
nella sua dichiarazione; se il metodo dichiara di ritornare un
tipo void, return non ritorna alcun valore e viene
utilizzato nella sua forma semplice:
return;
Torna all'indice Generale del corso di Corso di Java di Software Planet