In questa lezione del corso su Java vedremo alcune strutture di controllo e cicli. Tutti i linguaggi di programmazione possiedono strutture per controllare il flusso del programma, la più semplice e conosciuta è “if“, che significa proprio “se” e serve per verificare una condizione o più, unite dagli operatori logici.
Prendiamo questo esempio di codice:
package corso; public class Main { public static void main(String[] args) { char cTest = 'L'; String strTest; if (cTest == 'S') strTest = "Non mi piace la scimmia!"; else if (cTest == 'C') strTest = "Bello il cavallo che salta!"; else if (cTest == 'L') strTest = "Che bocca grande ha il leone!"; else if (cTest == 'K') strTest = "Ma quanto beve questo cammello?"; else strTest = "Se non conosco l'animale lo evito!"; System.out.println(strTest); } }
possiamo notare l’uso delle condizioni per rappresentare un elenco, in questi casi è preferibile, perché più performante, utilizzare l’istruzione switch, vediamo lo stesso esempio modificato per l’uso con switch:
package corso; public class Main { public static void main(String[] args) { char cTest = 'L'; String strTest; switch(cTest) { case 'S': strTest = "Non mi piace la scimmia!"; break; case 'C': strTest = "Bello il cavallo che salta!"; break; case 'L': strTest = "Che bocca grande ha il leone!"; break; case 'K': strTest = "Ma quanto beve questo cammello?"; break; default: strTest = "Se non conosco l'animale lo evito!"; } System.out.println(strTest); } }
Come potete vedere la variabile da testare è di tipo carattere, ma può essere anche di tipo numerico. La differenza di prestazioni è dovuta al fatto che, mentre nel primo esempio ogni condizione va verificata, nel secondo il programma va immediatamente nel valore giusto e questo lo potete vedere facilmente utilizzando il debugger. Il break consente di far saltare il flusso del codice alla fine dello switch, se provate a toglierli, vedrete che il programma continuerà al prossimo case.
Vediamo ora il ciclo while che serve per compiere una determinata azione numerose volte, il suo uso ed utilizzo attraverso questo esempio:
package corso; public class Main { public static void main(String[] args) { String strTest = "Giampaolo Rossi"; int k = 0; int qt = 0; while (k < strTest.length()) { if (strTest.charAt(k) == 'o') qt++; k++; } System.out.println("In " + strTest + " ci sono " + qt + " lettere o"); } }
Oltre al ciclo while, abbiamo anche do-while, l’unica differenza è che con questa seconda struttura il corpo viene eseguito sicuramente almeno una volta. Un’altra struttura per creare dei cicli è il for, vediamo come utilizzarlo al posto del while.
package corso; public class Main { public static void main(String[] args) { String strTest = "Giampaolo Rossi"; int k; int qt = 0; for (k = 0; k < strTest.length(); k++) { if (strTest.charAt(k) == 'o') qt++; } System.out.println("In " + strTest + " ci sono " + qt + " lettere o"); } }
Come avete potuto vedere da questa lezione, il corso che voglio creare è soprattutto dedicato alla pratica, di corsi Java dediti alla teoria ce ne sono moltissimi nella rete, non avete che l’imbarazzo della scelta. Quello che voglio da voi però è di non barare, non copiate ed incollate il codice che vi proporrò di volta in volta, ma cercate di capirlo e soprattutto create vostri esempi. Ovviamente potete fare come volete, non ho controllo su di voi, ma se volete diventare dei veri programmatori Java occorre che studiate la teoria o qui o in altri corsi e poi fare pratica, tanta pratica e fatica. In questo corso, ripeto, vedrete moltissimo codice sorgente e se aveste dei problemi potete colloquiare con me tramite il nostro forum, questo forse, se ben sfruttato, è un mezzo molto importante per capire la programmazione Java.
<< Lezione Precedente – Inizio Corso – Lezione Successiva >>