Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
di controllo
Marco
La
Cascia
A.A.
2017-‐18
Outline
• Operatori
• Espressioni
• Ges:one
del
flusso
di
esecuzione
• Selezione
• Iterazione
Operatori
• ConceB
generali
• espressioni
• operandi
• operatori
unari
e
binari
• precedenza
e
associa:vità
• Esempio:
i = i+2;!
i += 2;!
• Valore
di
ritorno?
Operatori di pre/post
incremento/decremento
i = i+1;!
i += 1;!
++i; i++;!
Nota:
se
usa:
in
espressioni
pre
e
post
hanno
comportamento
differente!
Operatori bitwise
Operatori relazionali
• if
(espr-‐booleana)
istruzione-‐1;
else
istruzione-‐2;
• Esempio
if (numeroLati == 3)!
!System.out.println("Questo è un triangolo");!
else!
!System.out.println("Questo non è un triangolo");!
Costrutto if else if a cascata
if(espr-booleana-1)!
istruzione-1!
else if(espr-booleana-2)!
istruzione-2!
…!
else if(espr-booleana-n)!
istruzione-n!
else!
istruzione-default!
• istruzione
può
essere
un
qualsiasi
blocco
di
istruzioni
racchiuso
fra
parentesi
graffe
• Buona
prassi
meLere
parantesi
graffe
anche
se
è
istruzione
singola
Costrutto while
• while(espr-‐booleana)
istruzione;
• In
generale
presente
anche
inzializzazione
e
aggiornamento
[inizializzazione;]
while
(espr-‐booleana)
{
istruzione;
[aggiornamento
iterazione;]
}
• Esempio
int i = 1;!
while (i <= 10) {!
!System.out.println(i);!
!++i;!
}!
Costrutti avanzati
• CostruLo
for
• CostruLo
do
while
• CostruLo
for
migliorato
• CostruLo
switch
• Istruzioni
break
e
conDnue
Costrutto for
• for
(inizializzazione;
espr-‐booleana;
aggiornamento)
istruzione;
• Esempio
public class ForDemo {!
!public static void main(String args[]) {!
! !for (int n = 10; n > 0; n--) {!
! ! !System.out.println(n);!
! !}!
!}!
}!
• La
variabile
n
ha
“scope
di
ciclo
for”
• inizializzazione,
espressione
e
aggiornamento
sono
tuLe
e
tre
opzionali
• Ciclo
infinito:
for(
;
;
)
istruzione
Costrutto for
• inizializzazione
può
riferirsi
a
più
variabili
(purchè
dello
stesso
:po)
usando
la
virgola
come
separatore
• aggiornamento
può
essere
una
qualsiasi
sequenza
di
istruzioni
(o
chiamate
a
metodi)
separate
dalla
virgola
• Esempio
for (int i = 0, j = 10; i < 5 || j > 5; i++, j--,
System.out.println("aggiornamento")) {!
!...!
}!
Costrutto do while
• do
{
istruzione;
while(espr-‐booleana);
• In
generale
presente
anche
inzializzazione
e
aggiornamento
[inizializzazione;]
do
{
istruzione;
[aggiornamento
iterazione;]
}
while
(espr-‐booleana);
• istruzione
è
sempre
eseguita
almeno
una
volta
Esempio
public class DoWhile {!
public static void main(String args[]) {!
int i = 10;!
do {!
System.out.println(i);!
} while(i < 10);!
}!
}!
• Nota:
senza
la
label
il
break
avrebbe
interroLo
il
ciclo
più
interno
Riepilogo
• Operatori
• Espressioni
• Ges:one
del
flusso
di
esecuzione
• Selezione
• Iterazione
Riferimenti
• Claudio
De
Sio
Cesari.
“MANUALE
DI
JAVA
8”.
Casa
editrice
Hoepli,
2014