Saltar al contenido principal

Ámbito de las varaibles dentro de una estructura if

En Java, las variables definidas dentro de un bloque de código, como un bloque if, tienen su ámbito limitado al bloque en el que fueron declaradas. Esto significa que las variables creadas dentro de un bloque if sólo existen dentro de ese bloque y no son accesibles fuera de él.

if (true) {
int x = 5;
System.out.println("El valor de x dentro del if es: " + x);
}

System.out.println("El valor de x fuera del if es: " + x); // Error: no se puede encontrar la variable x

Dentro de un bloque if cualquier variable declarada dentro del bloque solo es válida y accesible mientras el control de ejecución esté dentro de ese bloque.

Fuera del bloque if, la variable deja de existir cuando el control sale del bloque, y no puede ser referenciada ni usada fuera de él.

A continuación tenemos un ejemplo con dos estructuras diferentes:

if (true) {
int a = 10;
System.out.println("Dentro del primer if: " + a);
}

if (true) {
// Esta es una nueva variable a, independiente de la anterior
// Por eso hay que volverla a definir
int a = 20;
System.out.println("Dentro del segundo if: " + a);
}

Aquí, la variable a en el primer if no afecta a la variable a en el segundo if, porque cada una tiene su propio ámbito limitado al bloque donde se declaró.