De programación java: la observación de alcance dentro de un bloque

los desarrolladores de Java a menudo experimentan problemas a averiguar por qué una aplicación se está portando mal cuando se enfrentan a un problema de acceso del bloque. La directriz básica es que cualquier variable se crea dentro de un bloque se define solamente dentro de ese bloque. Por ejemplo, cuando nos fijamos en el código siguiente, se ve un escenario de acceso de bloques típico.

// Crear una variable dentro de un block.for (int i = 0- i lt; 10- i ++) // mostrar el valor de que variable.System.out.println ("El valor de i es: " + I) - // El acceso fuera del bloque no lo hace work.System.out.println ("El valor de i es: " + I) -

El ejemplo muestra el valor de i dentro del bucle (un tipo de bloque) sin problema. Sin embargo, tratar de acceder i fuera del bloque no es aceptable ya que la variable no está definida. El compilador detectará este error.

Video: El documento de visión y alcances de un proyecto

Otro problema potencial se produce cuando una variable se define en la aplicación y también dentro de un bloque. Debido a esta situación es susceptible de crear problemas, las nuevas versiones de Java no permitirá que el tipo de código que se muestra aquí:

void main (String [] args) public static {// Definir un variable.int i = 0 - // Crear una variable dentro de un block.for (int i = i 0- lt; 10- i ++) // mostrar el valor de que variable.System.out.println ("El valor de i es: " + I) - // El acceso fuera del bloque no lo hace work.System.out.println ("El valor de i es: " + I) -}

El compilador no siempre le impide pegarse un tiro en el pie. En muchas situaciones, el desarrollador hace algo con la variable y no entiende las consecuencias. Por ejemplo, el siguiente código es perfectamente legal en Java.

Video: Cambio del alcance y definición de éxito de un proyecto

void main (String [] args) public static {// Definir un variable.int i = 0 - // Crear una variable dentro de un block.for (i = i 0- lt; 10- i ++) // mostrar el valor de que variable.System.out.println ("El valor de i es: " + I) - // El acceso fuera del bloque no lo hace work.System.out.println ("El valor de i es: " + I) -}

El bucle for muestra los valores de 0 a 9 debido a la condición dentro de la declaración de bucle. La llamada final a System.out.println () muestra un valor de 10, no es 0 o 9, ya que algunos desarrolladores se podría esperar.

El ++ parte I de la Declaración se produce, a continuación, se evalúa la condición, por lo que el valor final de i es 10, no 9, ya que tiene que ser 10 a fin de que la condición para ser falsa.

El punto es que usted debe tener en cuenta cómo funciona un bloque con una variable con el fin de determinar si puede acceder a la variable y el valor de lo que contendrá a la salida del bloque.

Artículos Relacionados