Cuando el bloque
es el cuerpo de un método, también se denominan “variables de método” o
“variables automáticas”.
Son aquellas que
se se declaran en un bloque.
Se crean cuando
se declaran y se destruyen cuando el bloque termina. Cada vez que se ejecuta el
bloque se crea una nueva variable.
Si existen simultáneamente varias llamadas al bloque, existirán simultáneamente varias variables, todas diferentes entre sí. Esto ocurre en métodos recursivos.
EJEMPLO Búsqueda
binaria (de diccionario). Dado un array
ordenado de enteros, encontrar en qué posición se encuentra en número N. Devuelve la
posición de N en el array. Devuelve -1 si N no está en el array. |
public
int busca (int n, int[] datos) { return busquedaBinaria(n, datos, 0, datos.length); } // busca en el rango a..z private
int busquedaBinaria(int n, int[] datos, int a, int z) { if (a > z) return -1; int medio = (a + z) / 2; int valor = datos[medio]; if (valor == n) return medio; // encontrado if (valor < n) return busquedaBinaria(n, datos, a, medio-1); // a la izquierda else return busquedaBinaria(n, datos, medio+1, z); // a la derecha } |
Temas relacionados
175. Variables [variables] (concepto)