Ripartire da un punto del programma

di il
2 risposte

Ripartire da un punto del programma

Volevo chiedervi se esiste la possibilità di mettere un'etichetta in un punto del programma per poi richiamarla e proseguire da lì. Tipo:
1     istruzioni varie
2               .
3               .
4     richiamo l'etichetta e vado alla riga 8
5               .
6               .
7               .
8     etichetta
9     istruzioni varie
Spero di essermi spiegato.

2 Risposte

  • Re: Ripartire da un punto del programma

    In java non esiste l'operazione di salto incondizionato.
    In java i tipi di salto più vicini al celeberrimo "goto" del c++ sono:

    1) istruzione "break etichetta"
    2) istruzione "continue etichetta"

    Istruzione "break etichetta":
    Come già saprai, l istruzione "break" (da sola) si usa per interrompere un ciclo o dentro uno switch e il programma riprende dalla fine del ciclo (o dalla fine dello switch).

    Il "break etichetta" ti fa uscire dal ciclo ma fa riprendere l'esecuzione del programma alla fine del blocco etichettato. Faccio un esempio:
    
    qui:
    while (condizione) //con "qui:" ho etichettato questo ciclo while
    { 
       ...
       while (condizione)
       {
           ...
           if ( voglio uscire da tutti e due i cicli )
               break qui;
       }
       ...
    }
    //l'esecuzione del programma riprende da qui.
    
    Se non avessi usato l'etichetta "qui:" e se avessi usato la parole chiave "break", allora sarei uscito dal ciclo interno ma non da quello esterno.
    In definitiva il "break etichetta" è stato inventato per uscire da una serie di cicli annidati.

    istruzione "continue etichetta":
    L istruzione "continue" (da sola) invece che uscire dal ciclo nel quale ci troviamo sposta l'esecuzione alla fine dell' attuale iterazione del ciclo.

    Il continue etichetta fa continuare l'esecuzione alla fine dell iterazione attuale del ciclo etichettato.
    Vediamo un esempio:
    
    qui:
    while (condizione) //con "qui:" ho etichettato questo ciclo while
    { 
       //l'esecuzione del programma riprende da qui.
       ...
       while (condizione)
       {
           ...
           if ( voglio interrompere questa esecuzione continuando dal ciclo interno )
               continue qui;
       }
       ...
    }
    
    Spero di essere stato chiaro, se così non fosse, non esitare ad esporre i tuoi dubbi!
  • Re: Ripartire da un punto del programma

    Tutto chiaro, grazie.
Devi accedere o registrarti per scrivere nel forum
2 risposte