Dubbio switch

di il
2 risposte

Dubbio switch

Salve amici, sto facendo un esercizio in cui utilizzo lo switch e volevo chiedervi una cosa.
Nel momento in cui mi trovo ad eseguire istruzioni relative ad un case, ad un tratto ho la necessita di fare una cosa del genere:

"se la tua risposta e Y allora esegui il case 2"

quindi io non voglio uscire dallo switch ma voglio passare all'esecuzione del case 2.
Qualcuno saprebbe aiutarmi?

Siccome la condizione dello switch è

switch(classe) dove classe può essere 1 oppure 2.... il nel codice del case1 ad un certo punto ho scritto classe = 2 ma non mi funziona.Sapreste aiutarmi?

Grazie in anticipo a chiunque mi risponderà

2 Risposte

  • Re: Dubbio switch

    Innanzitutto nello switch i vari 'case' e anche il 'default' sono semplicemente e solamente il punto di ingresso. Una volta che si è entrati in un case/default, il codice fluisce tranquillamente fino: 1) ad un break o 2) alla fine fisica dello switch.

    Quindi ad esempio:
    int num = //.......
    
    switch (num) {
    case 3:
        System.out.print("TRE ");
    default:
        System.out.print("DEF ");
    case 1:
        System.out.print("UNO ");
        break;
    case 2:
        System.out.print("DUE ");
    }
    Se num vale 3, stampa TRE DEF UNO
    Mentre se vale 10, stampa DEF UNO

    Un case/default NON termina solo perché dopo c'è un altro case. Vale la regola del "Fall-Through", ovvero, ripeto, individuato il punto di ingresso, il codice fluisce verso il basso, passando eventualmente attraverso altri case fino a break o fine switch.

    E una volta entrato in un case NON puoi saltare arbitrariamente in altri case. Salvo appunto per la regola del Fall-Through.

    Ci può essere al massimo 1 default e non ci possono essere case con valore duplicato.

    Queste sono le regole che devi sapere.
  • Re: Dubbio switch

    Ok ho capito grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte