ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Basi | Espressioni | Comandi | Classi | Ereditarieta | Eccezioni | Thread | Utilita | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Comandi
Comandi
if
switch
fall-through
while
do-while
for
interruzioni
label
return
eccezioni
Stringhe/Array
Array
Caratteristiche
Creazione
Stringhe

<<< interruzioni >>>
Interruzioni di ciclo

In Java non esiste goto. Il goto serve a effettuare salti nel flusso del programma ed era la regola nei linguaggi prima della programmazione strutturata. Il C è un linguaggio strutturato, ma prevede il goto. Viene usato però normalmente solo in casi eccezionali (a meno che il programmatore non sia riuscito a digerire i concetti della progammazone strutturata!). I casi in cui si usa necessariamente il goto in C sono interruzioni di cicli e gestione di errori. Per i secondi abbiamo le eccezioni, che vedremo in seguito. Per i primi la soluzione sono i camandi di interruzione di ciclo, che come vedremo, fanno delle cose in più rispetto al C.

break
Consente di interrompere cicli e il comando switch

Il break è il comando dell'interruzione del ciclo. Dove c'è un break il ciclo termina. Lo abbiamo già visto usato per terminare uno switch, ma lo possiamo applicare anche a for, while e do-while. Nel punto in cui si incontra un break, si ha immediatamente un salto alla fine del ciclo. Implicitamente pertanto il break è appunto un goto alla fine del ciclo che lo contiene.

Reiterazione di ciclo
continue

Supponiamo di stare facendo un ciclo. Supponiamo che a un certo punto mi rendo conto che per questa iterazione non c'è più niente da fare, e voglio andare subito alla prossima iterazione. Posso senz'altro risolvere il problema con una if, ma spesso non rende l'idea e rende il codice meno leggibile a causa dell'annidamento di blocchi dentro blocchi.

Consente di proseguire cicli dal punto in cui si è

Java mette a disposizione il continue per gestire elegantemente questo caso: consente di passare direttamente alla prossima iterazione del ciclo.

Il continue può essere usato solamente all'interno di un ciclo: while, for, do/while. Equivale anche in questo caso ad un salto, un goto implicito, ma questa volta all'inizio del ciclo, per eseguire l'iterazione successiva.
Bisogna stare attenti che è qui che il comportamento del continue differenzia while e for. Consideriamo infatti:

for(int i=0; i<10; i++) {
   ...
   if(<condizione>)
     continue;
   ...
}
int i=0;
while(i<10) {
   ...
   if(<condizione>)
     continue;
   i++;
   ...
}

Nel primo caso, ciclo for, dopo il continue viene eseguita la successiva istruzione di incremento del ciclo (i++). Nel secondo caso, essendo posa all'interno del corpo del comando del while, la continue non fa eseguire l'istruzione di incremento del ciclo, i++.

Sono dei "goto"
Il break equivale ad un salto alla fine del ciclo
il continue equivale ad un salto all'inizio del ciclo
// 1 inizio ciclo
while(...) {
  if(...)
    break;     // salta a 2
  if(...) 
   continue;   // salta a 1
}// 2 file ciclo
ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com