? Quando i programmatori di creare applicazioni informatiche , spesso implementano strutture complesse nel loro codice . Ad esempio, invece di ogni riga eseguire in sequenza , un programma comporta spesso la ripetizione e test condizionali determinano quali istruzioni di codice effettivamente eseguiti. Istruzioni case , noto anche come istruzioni switch , eseguire sequenze di test condizionali . Chained se e else anche fare questo, quindi i programmatori spesso devono scegliere tra le due tipologie di dichiarazioni. Differenze
e altro catene a volte possono svolgere esattamente lo stesso compito come un caso , o un interruttore , dichiarazione. Tuttavia, alcune operazioni possono essere effettuate solo da uno di essi . Chained se e else forniscono una serie di test per il programma da eseguire , come nel seguente esempio di codice Java :
if ( num == 1) System.out.println ( " uno") ; altro if ( num == 2) System.out.println ( " due") ; else if (num == 3) System.out.println ( "tre "); altro System.out.println ( " non uno , due o tre " ) ;
il codice seguente rappresenta il trattamento equivalente con un'istruzione switch : Cambia
( num) {case 1 : System.out.println ( " uno " ) messaggio = 2: System.out.println ( " due") messaggio = 3 : System.out.println ( "tre "); break; default: System.out.println (" non uno, due o tre "); break; }
I risultati di questi blocchi di codice sono gli stessi , anche se la loro applicazione è diversa
test
caso . , o uno switch , le dichiarazioni possono coinvolgere solo alcuni tipi di dati . Per esempio, in Java , istruzioni switch possono funzionare solo su tipi primitivi o enumerato , così come le classi wrapper per i tipi numerici . If e else dichiarazioni possono effettuare test su qualsiasi tipo di dati , inclusi gli oggetti . I test di istruzioni switch coinvolgono un solo valore , mentre in se e else , il codice può verificare i valori all'interno di un certo intervallo, o per combinazioni di condizioni utilizzando gli operatori logici - e , o e non . Questo significa che se e else forniscono più scelte in termini di test condizionali .
Catene
Piuttosto che essere semplicemente una questione di scegliere una struttura di controllo che implementa l'elaborazione richiesta , i programmatori spesso scelgono strutture basate sulla leggibilità . Molti programmatori trovano istruzioni case più concisa e leggibile quando i valori semplici sono in fase di sperimentazione . Un lungo elenco di if e else può apparire inutilmente prolisso all'interno di uno script . La leggibilità è un fattore importante nella programmazione , per lo sviluppo futuro e per i progetti con più di uno sviluppatore che lavora su di loro .
Rompe
In una catena di if e else , non vi è di solito non c'è bisogno di uscire da un struttura in modo esplicito. Con il caso , o switch, dichiarazioni tuttavia, è necessario utilizzare un'istruzione break , istruendo il programma per uscire dal blocco di codice quando il caso viene trovato . Se non ci sono istruzioni break sono inclusi, uno switch può quindi effettuare i test necessari. I programmatori a volte trascurano di includere l'istruzione case predefinita , che può portare a comportamenti imprevedibili .