GnomixLand




+--------------------------------------------------------------------------+
|                                                                          |
|                       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/