while

  • le istruzioni sono eseguite fino a quando la condizione è vera
  • la condizione viene controllata ad ogni ciclo
while(<condizione booleana>){
	<istruzioni>;
}
do while:
  • si comporta come il while, ma la condizione viene controllata alla fine di ogni ciclo e non all’inizio (prima fa, poi vede)
do{
	<istruzioni>;
}
while(<condizione booleana>)

utile per cose legate allo user input (es. prima chiede l’input, poi lo controlla e se non va bene lo richiede)

for:

sintassi:

  • inizializzazione di una variabile
  • espressione booleana
  • incremento
  • istruzioni
//più istruzioni
for (<iniz.>; <espr. booleana>; <incremento>){
 
	<istruzioni>;
	
}
//singola istruzione
for (<iniz.>; <espr. booleana>; <incremento>)
	<istruzione>;

"two for one"!

Le istruzioni di inizializzazione e incremento possono riferirsi a più variabili (quasi come mettere due for in uno):

for (int k = 0, i = 0; i<=10; i++, k+=5)

Le istruzioni di inizializzazione e incremento possono riferirsi a più variabili (quasi come mettere due for in uno):

  • è il punto e virgola che divide la fine di una “sezione” - due cose nella stessa sezione sono separate da virgola
uscire da un ciclo
  • istruzione break - esce dal ciclo che lo contiene

per uscire da cicli annidati, si può dare un’etichetta prima da un ciclo e uscire da quel ciclo con break <etichetta>

outer:
for (int i=0; i<h; i++){
 
	for (int j=0; j<w; j++){
	//codice
 
	if (j==i) break outer;
	}
}
//break outer ti porta qui
saltare all’iterazione successiva
  • istruzione continue - salta l’iterazione corrente
for (int i=0; i<h; i++){
	if (s.charAt(i) != "c") continue
}