Java
(a differenza di C e C++) non ha il goto
(anche
se goto
è
una parola riservata del linguaggio) e quindi non è possibile saltare
indiscriminatamente qua e là nel codice. Nonostante ciò qualche
salto strutturato è ancora possibile farlo attraverso le istruzioni
break
e
continue.
Consideriamo
quindi il seguente esempio:
class
Quiz9{
public static void main(String [] args){
int i = 1;
Wow:
System.out.println("A i="+i);
Wow:
try {
Here:
i++;
System.out.println("B i="+i);
Here:
for(i=3; i<10; i++) {
if (i%2 == 0)
continue Here;
if (i == 7)
break Wow;
if (i > 7)
break Here;
System.out.println("C i="+i);
}
Here:
System.out.println("D i="+i);
break Wow;
} finally {
Here:
System.out.println("E i="+i);
return;
}
Wow:
System.out.println("F i="+i);
}
}
Il (vostro)
compilatore Java compila questo programma senza errori e/o warning?
Nel caso
ci siano degli errori di compilazione quali righe del programma vanno modificate
o cancellate?
Quando
si esegue il programma: cosa stampa?
Alla luce
di quanto stampato dal programma: cosa pensate del sistema di diagnostica
del (vostro) compilatore Java?
Come
al solito non occorre compilare ed eseguire il pezzo di codice sopra illustrato.
Bisogna invece ragionare su di esso e riuscire a rispondere ai quattro
problemi posti usando solo la specifica del linguaggio. Quando si è
ragionevolmente sicuri delle risposte allora (e solo allora!) è
possibile verificarle tramite un run di prova e/o leggere il mio commento
su queste colonne tra due mesi.
MokaByte®
è un marchio registrato da MokaByte s.r.l.
Java®
è un marchio registrato da Sun Microsystems; tutti i diritti riservati
E'
vietata la riproduzione anche parziale
Per
comunicazioni inviare una mail a
mokainfo@mokabyte.it