Variabili dei blocchi

Sono variabili definite all'interno di un blocco

Si possono usare solo all'interno del blocco in cui sono definite


Esempio di uso

class Blocco {
  public static void main(String args[]) {
    int x=12;

    if(true) {
      String y;

      y="abcd";
      System.out.println(y);
    }

    System.out.println(y);  // errore
  }
}

Le variabili esistono solo all'interno del blocco

Si può dichiarare la stessa variabile anche in più blocchi:

class Blocco {
  public static void main(String args[]) {
    int x=12;

    if(true) {
      String y="abcd";

      System.out.println(y);
    }

    if(x>2) {
      double y=12.2;

      System.out.println(y);
    }

  }
}

Semplificazione dei cicli

La variabile che uso nel ciclo for la posso anche dichiarare nel ciclo

class Blocco {
  public static void main(String args[]) {

    for(int i=0; i<10; i++)
      System.out.println(i);

  }
}

La variabile si deve solo dentro il ciclo:

class Blocco {
  public static void main(String args[]) {

    for(int i=0; i<10; i++)
      System.out.println(i);

    System.out.println(i); // errore!!!
  }
}

Quando si usano

Se devo fare un ciclo, e la variabile non mi serve dopo

Cosa tipica: stampare un array

  for(int i=0; i<v.length; i++)
    System.out.println(v[i]);