![]()
+--------------------------------------------------------------------------+
| |
| Lezione Numero 4 di Java |
| |
+--------------------------------------------------------------------------+
| |
|Autore: Syscall |
|Mail: damiano@mojodo.it |
| |
+--------------------------------------------------------------------------+
| |
|In questa lezione andiamo a scoprire le strutture di controllo decisionali|
|Si chiamano strutture di controllo perchè ci permettono di controllare il |
|programma all'avverarsi di alcuni eventi che decidiamo noi. Insomma, chi |
|già programma sa di cosa parlo....dei mitici cicli!!! Il primo tipo che |
|andiamo a vedere, è il più semplice. Si chiama ciclo IF. IF in inglese |
|vuol dire 'se'. Vediamo la sintassi. |
| |
+--------------------------------------------------------------------------+
if(espressione)
istruzione;
+--------------------------------------------------------------------------+
| |
|Se per esempio abbiamo un programma che deve eseguire un istruzione ben |
|precisa, solamente se un valore per esempio è uguale a 10 sarà così |
+--------------------------------------------------------------------------+
if(valore==10)
System.out.println("nIl valore è uguale a 10n");
+--------------------------------------------------------------------------+
| |
|Semplice vero? In questo caso abbiamo scritto "se valore è uguale a 10, |
|scrivi sul video la frase -il valore è uguale a 10-". Se il valore invece |
|fosse diverso da 10 non succederebbe niente. Possiamo ampliare questo tipo|
|di ciclo con la clausula ELSE (oppure). Vediamo l'esempio. |
| |
+--------------------------------------------------------------------------+
if(valore==10)
System.out.println("nvalore è uguale a 10");
else
System.out.println("nvalore è diverso da 10");
+--------------------------------------------------------------------------+
| |
|In questo caso abbiamo visto degli esempi semplici, ma pensiamo a tutti |
|quei programmi dove serve molto codice..i cicli non sono così snelli. |
|Quindi troveremo dei blocchi. |
| |
+--------------------------------------------------------------------------+
if(espressione) { //la parentesi indica l'inizio del blocco
istruzione;
istruzione;
istruzione;
} else { //chiudiamo e apriamo il secondo blocco
istruzione;
istruzione;
istruzione;
} //chiudiamo il secondo blocco
+--------------------------------------------------------------------------+
| |
|Bene, non penso che ci sia bisogno di commentare questi blocchi ancora. |
|L'unica cosa, ricordatevi di chiudere le parentesi che avete aperto =) |
|I cicli possono essere anche annidati, come in tutti i linguaggi di prog. |
|Se per esempio quando un valore ben preciso è uguale a 10, ma allo stesso |
|tempo maggiore di 5 dobbiamo scrivere a video "uguale a 10, maggiore di 5"|
|altrimenti "uguale a 10, minore di 5" facciamo in questo modo. |
| |
+--------------------------------------------------------------------------+
if(valore==10)
if(valore>5)
System.out.println("nuguale a 10, maggiore di 5");
else
System.out.println("nuguale a 10, minore di 5");
+--------------------------------------------------------------------------+
| |
|Inutile dire che anche nei cicli annidati, qualunque esso sia, si possono |
|usare i blocchi. Passiamo al ciclo successivo. Vediamo ora il ciclo switch|
| |
+--------------------------------------------------------------------------+
switch(exp) {
case const:
istruzione;
istruzione;
break;
case const:
istruzione;
istruzione;
break;
default:
istruzione;
istruzione;
break;
}
+--------------------------------------------------------------------------+
| |
|Nella sintassi del ciclo switch vediamo 'exp' dove sarà sostituita da una |
|classica espressione, 'const' da una costante. Vediamo di sintetizzare |
|molto velocemente questo ciclo. Se noi abbiamo un valore che corrisponde |
|per esempio, alla terza costante, verrà eseguito tutto il blocco di |
|istruzione racchiuso nel blocco fino alla parola break.Se nessuna costante|
|è uguale, verrà eseguito il blocco default. Vediamo un piccolo e banale ex|
| |
+--------------------------------------------------------------------------+
switch(valore) {
case a:
System.out.println("na");
break;
case b:
System.out.println("nb");
break;
default:
System.out.println("nValore di default");
break;
}
+--------------------------------------------------------------------------+
| |
|
Avanti il prox!! Ciclo FOR!! Il ciclo for ha la potenzialità di ripetere|
|un azione fino ad un determinato momento. Vediamo la sintassi |
| |
+--------------------------------------------------------------------------+
for(variabile=valore_iniziale; condizione; incremento/decremento)
+--------------------------------------------------------------------------+
| |
|Se per esempio vogliamo scrivere 5 volte 'Hello Word' useremo il ciclo for|
| |
+--------------------------------------------------------------------------+
for(var=0; var<=5; var++)
System.out.println("nHello Wordn");
+--------------------------------------------------------------------------+
| |
|Il ciclo WHILE invece 'cicla' sempre fino all'avvenire di una condizione. |
|E' molto simile al FOR insomma...Vediamo un esempio veloce veloce e poi |
|passiamo al ciclo DO-WHILE e concludiamo la lesson. |
| |
+--------------------------------------------------------------------------+
while(a<=10)
System.out.println("nCiclo whilen");
+--------------------------------------------------------------------------+
| |
|Nel ciclo while se l'espressione iniziale è falsa non ciclerà mai un bel |
|niente. Il ciclo do-while a differenza del while fa ciclare minimo una |
|volta. Vediamo la sintassi |
| |
+--------------------------------------------------------------------------+
do {
blocco di istruzioni;
} while(exp);
istruzioni;
+--------------------------------------------------------------------------+
| |
|Bene, spero di non aver dimenticato qualche ciclo ghghghg. Comunque lo so |
|che ho scritto una lezione molto superficiale, ma ricordatevi che esiste |
|sempre la documentazione ufficiale sul sito della SUN.Vi lascio un esempio|
|di applet |
+--------------------------------------------------------------------------+
import java.awt.Graphics;
import javax.swing.JApplet;
class Applet extends JApplet {
int var;
public void main() {
String input;
input=JOptionPane.showInputDialog("n1 per lineen"+"2 per rettangolin"+"3 per cerchin");
var=Integer.parseInt(input);
}
public void paint(Graphics g) {
for(int a=0; a<=10; a++) {
switch(var) {
case 1:
g.drawLine(10, 10, 250, 10+a*10);
break;
case 2:
g.drawRect(10+a*10, 10+a*10, 50+a*10, 50+a*10);
break;
case 3:
g.drawOval(10+a*10, 10+a*10, 50+a*10, 50+a*10);
break;
default:
JOptionPane.showMessageDialog(null, "Valore errato");
}
}
}
}
+--------------------------------------------------------------------------+
| |
|TNX al mio socio BrNoCrIsT ed a te che sei così speciale :*** TVB piccola |
| |
+--------------------------------------------------------------------------+
© GnomixLand http://www.gnomixland.com/ |