STRUTTURE LINGUAGGIO JAVA: Condizioni e Cicli

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 {

}
}