
public class Esempio02 {
	// Dichiarazione variabili
	static int x;
	static int y;
	static int a,b,c; // Equivale a 3 dichiarazioni
	
	
	public static void main(String[] args) {
		
		// **********************
		// Assegnamento
		x = 5; 
		y = 4;
		a = x + y;
		b = y - x;
		y = 2 * x + 4;
		// Il nuovo valore di y è (2*5)+4 = 14, e non 2*(5+4)=18.
		// Valgono le regole di precedenza dell'aritmetica.
		c = a * a * b * b / 2 - 30;

		// **********************
		// Condizionale
		System.out.println("************* Condizionale");
		if (c > 10) {
			System.out.println("Il numero " + c + " è maggiore di 10");	
		} else {
			System.out.println("Il numero " + c + " è minore o uguale a 10");
		}

		// Il ramo "else" è opzionale, se non presente vale "skip"
		// (Lo "skip" non è presente in Java.)
		if (c > 10) {
			System.out.println("Il numero " + c + " è maggiore di 10");	
		} 

		// **********************
		// Ciclo while
		System.out.println("************* While");
		while (c > 0) {
			System.out.println("La variabile c ora vale " + c);
			c = c - 1;
			c--;  // Decrementa c; equivalente a: c = c-1
		}
		
		// **********************
		// Ciclo for
		System.out.println("************* For");
		for (x=0 ; x<10 ; x++) { // x va da 0 a 10 escluso
			System.out.println("La variabile x ora vale " + x);
		}
		// Il for è a tutti gli effetti equivalente a:
		System.out.println("************* While (che simula il for)");
		x=0;
		while (x<10) {
			System.out.println("La variabile x ora vale " + x);
			x++;
		}
		
		// Per fare un ciclo da 0 a 10 incluso, basta cambiare il <
		// in <= (minore o uguale). Questo vale sia nel for che nel while
		// di sopra.
	}

}
