El ámbito de una variable corresponde a él contexto y el valor que pueda tener según este, por ello a veces podemos ver variables del mismo nombre pero que actúan diferente y no afectan el funcionamiento del programa.
El Ámbito de la Variable
Como mencionamos el ámbito de una variable es el espacio dentro del programa donde ella va a tener su rango de acción, es decir, es el espacio donde tendrá sus valores y en el cual debemos ser capaces de predecir qué tipo de valor está tomando.
A pesar que lo descrito suena complejo realmente es muy sencillo, pensemos en que tenemos un método, si definimos una variable dentro de ese método su ámbito será el mismo, por lo que si definimos una variable fuera del método con un nombre diferente cada una tendrá su propio valor y no se entorpecerán entre ellas.
Veamos en la siguiente imagen como definimos variables en un ciclo for, con unas líneas vamos a demarcar el ámbito de cada una con ello tendremos una visión más clara de todo lo que hemos explicado:
Si nos fijamos en el flujo de la imagen, la variable i es definida en el inicio del ciclo for, entonces el ámbito de esta será todo el bloque, una vez que se salga del bloque ella no tendrá más rango de acción, en el otro extremo está la variable j que es definida dentro del ciclo, su ámbito será todo el bloque a partir de la línea en la que fue definida, por lo que no se puede utilizar antes en el bloque.
Declaración de Variables en Diferentes Bloques
Para el ojo inexperto es posible que se pueda confundir el ámbito de una variable, más si vemos que podemos definir variables con el mismo nombre en bloques que no están anidados, por ejemplo podemos tener una variable i en dos ciclos for, siempre y cuando estos no estén anidados, de lo contrario tendríamos un problema.
Veamos en la siguiente imagen la forma correcta de hacer esto:
Como vemos cada ciclo for está por separado por lo que cada variable i pertenece a cada uno de forma independiente. En cambio veamos la forma incorrecta de esto en la siguiente imagen.
Aquí tendríamos un error ya que en un bloque anidado estamos declarando la misma variable, porque la variable i es declarada en el método, sin embargo dentro de su ámbito se está declarando una nueva variable i para un ciclo for.
Finalizado este tutorial hemos dejado claro cómo funcionan las variables en sus diferentes ámbitos y como debemos trabajar con ellas para que podamos tener mejores programas en Java.