Nwlapcug.com


Quando si utilizza un'istruzione If-Then-Else sopra un'istruzione Case?

Quando si utilizza un'istruzione If-Then-Else sopra un'istruzione Case?


Quando i programmatori costruire applicazioni di computing, attuano spesso strutture complesse nel loro codice. Ad esempio, piuttosto che ogni riga eseguendo in sequenza, un programma spesso coinvolgerà ripetizione e test condizionali determinare quali istruzioni di codice effettivamente eseguito. Istruzioni case, noto anche come istruzioni switch, eseguire sequenze di test condizionali. Concatenate if ed else istruzioni anche fanno, quindi i programmatori devono spesso scegliere tra i due tipi di istruzioni.

Differenze

Se e altra catene a volte possono effettuare esattamente la stessa attività di una caso, o, l'istruzione switch. Tuttavia, alcune operazioni possono solo essere svolte da uno di loro. Concatenate if ed else istruzioni forniscono una serie di test per il programma da eseguire, come nel seguente esempio di codice Java:

if(num==1) System.out.println("one");
altro if(num==2) System.out.println("two");
altro if(num==3) System.out.println("three");
else System.out.println ("non uno, due o tre");

Il codice seguente rappresenta l'equivalente di elaborazione con un'istruzione switch:

Switch (num) {
caso 1: System.out.println("one"); Break;
caso 2: System.out.println("two"); Break;
caso 3: System.out.println("three"); 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 implementazione è diversa.

Test

Istruzioni case o switch, possono coinvolgere solo determinati tipi di dati. Ad esempio, in Java, istruzioni switch possono funzionare solo su tipi primitivi o enumerati, così come le classi wrapper per i tipi di numero. Se e istruzioni else possono effettuare test su qualsiasi tipo di dati, inclusi gli oggetti. I test nelle istruzioni switch coinvolgono solo un singolo valore, mentre in se e le istruzioni else, il codice può verificare i valori in un determinato intervallo, o per combinazioni di condizioni utilizzando gli operatori logici - e, o e non. Questo significa che se e istruzioni 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 necessaria, i programmatori spesso scelgono strutture basate sulla leggibilità. Molti programmatori trovano istruzioni case più conciso e leggibili quando semplici valori sono in fase di test. Una lunga lista di if ed else istruzioni possono apparire inutilmente dettagliate 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.

Si rompe

In una catena di if ed else istruzioni, non c'è normalmente c'è bisogno di uscire di una struttura in modo esplicito. Con istruzioni case o switch, tuttavia, è necessario utilizzare un'istruzione break, istruire il programma per uscire dal blocco di codice quando viene trovato il caso corrispondente. Se nessun istruzioni break sono incluse, un'istruzione switch può pertanto effettuare prove inutili. Programmatori a volte anche trascurano di includere l'istruzione case default, che può portare a comportamenti imprevedibili.