istruzione if:
la sintassi è:
//singola istruzione
if (<espressione booleana>) <istruzione>;
else <istruzione>;//per più istruzioni
if (<espressione booleana>){
<istruzioni>;
}
else if (<espr. booleana>{
<istruzioni>;
}
else{
<istruzioni>;
}problema del dangling else:
- l’else si riferisce sempre all’istruzione if immediatamente precedente (la tabulazione non conta nulla)
operatore condizionale(ternario):
sintassi:
condizione ? valoreCasoVero : valoreCasoFalsoint abs = x < 0 ? -x : x- è anche detto operatore Elvis.
switch case:
utile per lunghissimi if/else (come case in verilog)
switch(<espressione intera o Stringa>)
{
case <valore> : <istruzioni>; break;
case <valore> : <istruzioni>; break;
case <valore> : <istruzioni>; break;
default : <istruzioni>; break;
}sintassi alternativa: non serve il break:
String s = switch(c){
case "k" -> "kappa";
case "h" -> "acca";
case "l" -> "elle";
case "c" -> "ci";
default -> "non so leggerlo";
}altra alternativa (senza break ma per usarlo per definire un valore) - lo yield ci permette di non usare break.
String s = switch(c){
case "k" : yield "kappa";
case "h" : yield "acca";
case "l" : yield "elle";
case "c" : yield "ci";
default : yield "non so leggerlo";
}