ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Basi | Espressioni | Comandi | Classi | Ereditarieta | Eccezioni | Thread | Utilita | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Comandi
Comandi
if
switch
fall-through
while
do-while
for
interruzioni
label
return
eccezioni
Stringhe/Array
Array
Caratteristiche
Creazione
Stringhe

<<< if >>>
Condizionale if
if(<condizione>) 
 <comando> 
else 
 <comando>

Il primo comando strutturato che vediamo è il comando if. La caratteristica di questo comando è quello di essere un comando composto. Questo è solo il primo dei comandi composti che vedremo più avanti nel corso di questo corso. Per comando strutturato si intende un comando che contiene di se un altro sottocomando. Esaminando il listato si vede come funziona. C'è una parte, if() che è la parte principale del comando. Sintatticamente questo comando è incompleto in quanto occorre specificare delle altre parti. Tra parentesi va posta una espressione, mentre dopo il comando va posto un altro comando. Delle espressioni abbiamo già parlato in abbondanza nella prima parte del corso. Il sottocomando invece è un qualsiasi comando, tra quelli già visti e quelli che vedremo. Nel caso più semplice il sottocomando di if può essere un comando semplice. Quindi if(a>1) b=2; è una if completa. Dopo la if può essereci un comando composto, quindi in questo caso possiamo scrivere if(a>1) { b=2; c=3; }. In questo caso si vede chiaramente l'utilità delle graffe. Due comandi vengono raggruppati in uno solo per essere il sottocomaando della if. Dopo la if può esserci al più un comando e quindi si usano le graffe per raggruppare.

la <condizione> deve essere una espressione booleana

Il comportamento del comando è quello di eseguire il sottocomandosolo se la condizione è verificata. La condizione deve essere una espresione booleana. Cioè dopo aver effettuato i calcoli il risultato deve essere vero o falso. Tipicamente questo si ottiene con espressioni come a==b oppure a > b && c > d. Si può notare infatti come gli operatori relazionali ritornino appunto vero o falso, e combinando vero o falso si ottiene sempre un risultato booleano.

l'else lega l'if più vicino

L'if e basta esegue un comando solo se una condizione è verificata. È comunissimo voler fare qualcosa ancbe nel caso una condizione non è verificata. Per questo motivo l'if ammette una variante più complessa in cui esiste una parte eseguita quando la condizinone è falsa. In questo caso è presente la parte else, in cui viene specificato anche un comando. Questo comando viene eseguito solo quando la condizione è false.

In caso di ambiguità si devono usare le graffe esplicitamente


// 1 if(<condizione>) // 2 if(<condizione>) <comando> // riferito a 2 else <comando>

// 3 if(<condizione>) { // 4 if(<condizione>) <comando> } // riferito a 3 else <comando>

Il comando di if o else può essere a sua volta un altro if o else, Si può verificare il caso in cui un else può essere riferito a due diversi if, come nell'esempio in figura. La regola è che l'else lega l'if più vicino. Questo è valido anche se il programmatore indenta (ovvero mette degli spazi) per indicare una diversa associazione. Se si vuole forzare una associazione in cui l'else lega con l'if più lontano, bisogna "staccare" l'if mediante l'uso esplicito delle parentesi graffe.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com