|
|
| In molte situazioni, l'esecuzione di uno o più
passi di un programma dipende da certe condizioni (valori in input, stato
della memoria,...).
Esempio: metodo withdraw della classe
BankAccount:
La seguente versione controlla se il saldo è sufficente:
in caso contrario non fa niente.
|
|
|
|
La prossima versione addebita una COMMISSIONE_SCOPERTO se il prelievo non è possibile:
|
|
|
oppure
dove:
|
|
|
|
|
|
|
|
|
|
|
|
Vogliamo scrivere un comando che assegna alla
variabile
int giorni il numero di giorni del mese memorizzato
nella variabile
int mese. Proviamo con comandi if-else.
Codice compatto ma non molto leggibile. Quali sono i possibili valori di mese? Cosa succede se mese > 12? Java, come molti altri linguaggi, fornisce un comando
condizionale "a più vie" per questi casi.
|
|
|
Quello che segue la parte (<selettore>) deve essere un blocco, che può essere vuoto o iniziare con case o default. |
|
|
Se non incontra un <valoreY> uguale alla valutazione ed è presente l'etichetta default esegue le <istruzioni1> corrispondenti. Se non incontra un <valoreY> uguale alla valutazione e non è presente l'etichetta default passa al punto 3. |
|
|
| Per evitare che vengano valutate tutte
le <istruzioniY+1>... <istruzioniN> successive ad
un case soddisfatto si utilizza l'istruzione break.
Il break permette di trasferire l'esecuzione all'istruzione successiva al blocco dello switch; viene posto successivamente alle <istruzioniX>. L'istruzione switch si utilizza quindi
(solitamente) nella forma:
|
|
|
SceltaAPiuVie.java: Altro esempio con numeri |
|
|
|
| Sono una eredità di C e C++
Sintassi:
Significato: E' una espressione, non un comando.
|