JavaProgrammazione

Costrutti condizionali e iterattivi

costrutti condizionali sono delle espressioni che consentono di alterare l’usuale modo di esecuzione di un programma.

If-else

if (condizione) {
  blocco se la condizione è vera
} else {
  blocco se la condizione è falsa
}

la condizione deve essere una espressione booleana, se a e b sono int if (a == b) è una condizione valida. All’interno di un blocco si possono nidificare altri costrutti condizionali.

Switch-case

switch (condizione) {
  case valore1:
    blocco1
    break;

  default:
}

condizione deve essere di tipo byte, short, char, char, int o enum. Il funzionamento di switch è abbastanza semplice, viene eseguito il blocco di istruzioni a partire dal case contrassegnato dello stesso valore. Se il blocco non ha l’istruzione break si passa al blocco successivo.

La clausola default può determinare una porzione di codice che viene eseguito se non viene verificata nessuna clausola.

costrutti iterativi sono delle espressioni che ci consentono di eseguire ripetutamente un determinato blocco di codice.

Il ciclo while esegue un blocco di istruzioni finché rimane verificata una certa condizione.

while (condizione) {
  blocco
}

La condizione deve essere di tipo booleano, solo quando la condizione è true viene eseguito il blocco.

Il ciclo do-while si differenzia dal ciclo while per il fatto che il controllo viene fatto alla fine quindi anche se la condizione è falsa il ciclo viene eseguito per poi uscire.

do {
  blocco
} while (condizione);

Il ciclo for esegue un blocco di istruzioni per un numero determinato di volte, si divide in tre fasi: inizializzazione, aggiornamento e condizione.

for (inizializzazione; condizione; aggiornamento) {
  blocco
}
sostituibile con un ciclo whileinizializzazione
while (condizione) {
  blocco
  aggiornamento
}

Un particolare ciclo for è for-each che esegue un determinato blocco di codice per ogni elemento di una data collezione.

for (Type item : itemCollection) {

un semplice esempio

int [] arr ={1,2,3,4,5,6,7,8,9};
for (int tmp : arr) {
  System.out.println (tmp);
}

Rimandiamo quando parleremo di collection e array per un approfondimento.

Lo statement break serve per terminare l’esecuzione di un codice, lo statement continue invece fa saltare alla fine del blocco non esce ma valuta la condizione.