2012-01-10 10 views

risposta

47

È possibile interrompere solo un'etichetta su un che racchiude manualmente l'istruzione. Nel tuo esempio, l'etichetta NON è su una dichiarazione che include l'istruzione break.

(Per quel che vale, anche i linguaggi di livello superiore che supportano goto non consentono di saltare nel mezzo di un ciclo dall'esterno. Sto pensando a C ... e a linguaggi più vecchi come FORTRAN .)

Java consente di uscire, ma in rottura è illegale ... e si arriva arrestato :-)

(Scusate, non ho potuto resistere. per coloro che non lo fanno prendi la battuta, un "break in" è quando qualcuno entra in casa per rubare roba - vedi "break and enter" ...)

+8

mi piace vedere la parola _arrested_ in un argomento sulle etichette. I buoni casi IMHO per le etichette sono MOLTO rari. –

+0

grazie per l'aiuto;) – Lrrr

+10

anche grazie per la battuta: D – Lrrr

8

non è possibile utilizzare le etichette come goto in modo generale.
Utilizzare le etichette se si desidera accedere a un livello superiore del codice nidificato.

ad esempio

l1: while 
l2: while 
    l3: while 
    break l1 
    l4: while 
+0

Si noti tuttavia che l'etichetta è un identificatore in Java, non un numero. –

+0

Può usare le etichette come goto ma NON DEVE;) – tviana