Ámbito de una variable en Java

Hola a todos, hoy os explicare en que consiste el ámbito de una variable en Java, es muy importante entenderlo para no tener problemas con las variables.

Cada variable que creamos tiene un ámbito, es decir, que hay partes de la aplicación donde la variable creada no existe. Un bloque de código es lo que hay dentro de { }.

Existen varios tipos:

  • A nivel global de clase: cuando declaramos una variable al inicio de la clase (antes del main), esta variable  se podrá leer y modificar en cualquier parte del programa.
  • Variable local a nivel de método: una variable se declara dentro de un método y cuando este finaliza, la variable deja de existir.
  • Variable a nivel de bloque de código: cuando creamos una variable dentro de un bloque de código (como dentro de un if) este solo existirá dentro de ese bloque.

Para entenderlo mejor, veremos un ejemplo:

public class PruebaApp {

	static int variableGlobal=10;

	public static void metodoPrueba (){

		int variableMetodo=40;
		for (int i=0;i<10;i++){
			System.out.println("La variable i vale "+i); // aqui si existe la variable i
		}
		System.out.println("La variable i vale "+i); //aqui ya no existe la variable i

	}

	public static void main(String[] args) {

		System.out.println("La variable local  vale "+variableMetodo); // aqui ya no existe las variables de metodo

		int variableLocal1=20;
		if (variableGlobal==10){
			int variableLocal2=30;
			System.out.println("La variable local 1 vale "+variableLocal1); //Aqui si existe, ya que se ha declarado en un bloque de código superior
		}
		System.out.println("La variable local 2 vale "+variableLocal2); //Aqui ya no existe la variable 2

		System.out.println("La variable local Global vale "+variableGlobal); // aqui sigue existiendo

		metodoPrueba();
	}

}

Para resumirlo de una manera más sencilla, aquella variable que crees en un bloque de código seguirá existiendo hasta que no se acabe el bloque.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *