• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Lo statement SWITCH
Un caso particolare di selezione multipla si ha quando si desidera confrontare ilcontenuto di una variabile con un insieme di valori.La
sintassi
dello statement switch è
switch
 
(
id_variabile
){case
 
valore_1
:
 
istruzioni 
case
 
valore_2
:
 
istruzioni 
.....................
default:
istruzioni 
}
dove:
-
id_variabile
è l’identificatore della variabile il cui contenuto deve essereconfrontato con un insieme di valori;
-
valore_1
,
valore_2
,..., sono i valori da confrontare con
id_variabile
.La
semantica
dello statement switch è
vengono eseguite le istruzioni contenute nel case il cui valore coincide con quellodella variabile;
vengono eseguite anche tutte le istruzioni dei case successivi;
se nessun valore coincide con quello della variabile, vengono eseguite le istruzionicontenute in default; default è comunque opzionale.
Esempio
idvar= = valore1istruzione 1idvar= = valore2istruzione 2istruzione 3idvar= = valore3istruzione 4verofalsoverofalsoverofalsoistruzione default
switch
(idvar){
case
 valore1:istruzione1;
case
 valore2:istruzione2;istruzione3;
case
 valore3:istruzione4;
default
:istruzione_default;}
Bocchi CinziaUltimo aggiornamento: 08/10/2011
1
 
Se il case soddisfatto è quello corrispondente a valore2, vengono eseguite tutte leistruzioni successive (istruzione2, istruzione3, istruzione4, istruzione_default) e nonsolo istruzione2 e istruzione3. Se si desidera che vengano eseguite solo le istruzionidel case soddisfatto, bisogna inserire una istruzione
break
, alla fine delle istruzioni diogni case.
switch
 
(
id_variabile
){case
 
valore_1
:
 
istruzioni 
break
;
case
 
valore_2
:
 
istruzioni 
break
;.....................
default:
istruzioni 
break
;
}Esempio
idvar= = valore1istruzione 1idvar= = valore2istruzione 2istruzione 3idvar= = valore3istruzione 4verofalsoverofalsoverofalsoistruzione default
switch
(idvar){
case
 valore1:istruzione1;
 break
;
case
 valore2:istruzione2;istruzione3;
 break
;
case
 valore3:istruzione4;
 break
;
default
:istruzione_default;
 break
;
}
Bocchi CinziaUltimo aggiornamento: 08/10/2011
2
 
Limitazioni sui valori che può assumere la variabile dello switch
-
Fino alla versione 1.4 del JDK la variabile di controllo dello switch potevaassumere solo valori numerici di tipo
int
,
byte
,
short
e valori alfanumerici di tipo
char
.
-
Dalla versione 5 è possibile utilizzare le
enumerazioni
, cioè insiemi di valoripredefiniti.
-
La versione 7 consente, invece, di utilizzare anche le
stringhe
.
Switch con valori Stringa
Uso di costanti
Definiamo le seguenti costanti
1
: 
public static final int
ROSSO = 0; 
public static final int
VERDE = 1; 
public static final int
GIALLO = 2; 
public static final int
BLU = 3;
Colori.java (JDK 1.4)
import
javax.swing.JOptionPane;
 public
 
class
Colori {
 public
 
static
 
final
 
int
 
ROSSO 
= 0;
 public
 
static
 
final
 
int
 
VERDE 
= 1;
 public
 
static
 
final
 
int
 
GIALLO 
= 2;
 public
 
static
 
final
 
int
 
BLU 
= 3;
 public
 
static
 
 void 
main(String[] args) {
int
coloreScelto =
ROSSO 
;//Non preoccupatevi di questo codiceObject[] colors = {"rosso","verde","giallo","blu"}; String s = (String)JOptionPane.
showInputDialog 
( 
null
, "Scegli un colore", "SWITCH",JOptionPane.
PLAIN_MESSAGE 
, 
null
,colors, "rosso");
if
((s !=
null
) && (s.length() > 0)) { 
if
(s.equals("rosso"))coloreScelto =
ROSSO 
; 
else
 
if
(s.equals("verde"))coloreScelto =
VERDE 
; 
else
 
if
(s.equals("giallo"))coloreScelto =
GIALLO 
; 
else
 
if
(s.equals("blu"))coloreScelto =
BLU 
;}
1
Bocchi CinziaUltimo aggiornamento: 08/10/2011
3
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...