
Le strutture Java possono essere distinti nelle seguenti categorie:
- Semplici e blocchi
- Condizionali: if − else, switch
- Ciclo: for, while
- Interruzione di ciclo: break, continue
- Gestione eccezioni: try − catch − finally
Se vuoi approfondire il mondo della programmazione java ti lascio qualche link utile:
Strutture java: Semplici e Blocchi
Avendo una espressione di questo tipo, risulterà come un comando semplice aggiungendo un ‘;’.
a = 1 diventa a = 1 ;
Se si hanno due comandi, acchiudendoli tra graffe diventano un solo comando (blocco).
a=1; b=2; diventa { a=1; b=2; }
In aggiunta notiamo che il punto e virgola ci vuole sempre, anche nell’ultima istruzione di un blocco
Strutture java: Condizionale if
Struttura semplificata:
if(/condizione/)
—-
else
—-
• Deve essere una espressione booleana
• Non può essere intera (come in C)
perchiò non if(a) ma if(a!=0)
• l’else lega all’if più vicino, ma in questo caso, con l’uso delle graffe
if () //1
if() //2
//eseguo operazioni
else // riferito a 2
//eseguo operazioni
if() //1
{
//eseguo operazioni
if() //2
//eseguo operazioni
} else // riferito a 1
//eseguo operazioni
Strutture java: Condizionale switch
La condizione Switch permette di eseguire salti in base al valore presente all’interno del case
switch (variabile) {
case 1 :
break;
case 2:
…
break;
…
break;
}
In questo caso, se la variabile assumerà un valore numero eseguirà il case con il valore corrispondente.
• Attenzione: una volta eseguito un salto, il flusso prosegue all’interno dello switch.
Per uscire dallo switch ci sono due scelte:
• Se si incontra un break si va alla fine dello switch
• Se nessuno dei case è soddisfatto si salta al default
Esempio
n=0;
switch (c) {
case 2:
n += 1;
case 3:
n += 2;
break; default:
n += 4;
break;
}
- Se c vale 2, n alla fine vale 1
- C vale 3 , n alla fine vale 2
- Se all’inizio c vale 4, n alla fine vale 4
Strutture java: Ciclo WHILE
while()
{
//eseguo operazioni
}
- La condizione deve essere una espressione boolena
- Il comando viene eseguito finché è vera la condizione. Infatti è consigliato leggerlo in questo modo “fino a quando questa condizione è vera, allora faccio….”
- Il comando viene eseguito per primo, per cui il comando verrà sempre eseguito almeno una volta
Ciclo for
for(i=0;i<5;i++){
//eseguo operazioni
}
- Simile al while
- Viene eseguita l’espressione all’interno del for. In questo caso il ciclo verrà fatto n volte fino a quanto la variabile i, impostata a 0 sarà minore di 5. Ad Agni ciclo completato, la variabile i verrà incrementata.
Analogo a:
; while() {
//eseguo operazioni ;
//eseguo operazioni ;
}
Interruzione di ciclo
break
Consente di interrompere cicli e switch
continue
Consente di proseguire cicli dal punto in cui si è
while(…) {
if(…)
break; if(…)
continue;
}
In pratica il break equivale ad un salto alla fine del ciclo, mentre il continue equivale ad un salto alla fine del ciclo.
Eccezioni
Le chiamate di metodi possono generare “eccezioni”: queste, si propagano causando la terminazione del programma con un messaggio di errore se non vengono gestite
• Per il momento vediamo come ignorarle (stampando informazioni su dove è avvenuta l’eccezione.
try {
} catch (Exception ex) { ex.printStackTrace(); }
In generale è opportuno propagare tutte quelle che non si può gestire (anche se non sempre è possibile). Il programma si interromperà più facilmente in fase di messa a punto ma risulterà più resistente alle condizioni di errori più avanti.
Quando si dichiara un metodo che può sollevare eccezioni (generalmente chiamando altri metodi), si
può “lasciar passare” le eccezioni aggiungendo throws Exception nella dichiarazione del metodo.
class C {
void method(int x) throws Exception {
}
}