Variables en Java

Los datos que maneja un programa normalmente se almacenan en la memoria del ordenador. A cada dato se le asigna una posición o dirección de memoria. Esta dirección será la que se use para acceder al dato.

Las direcciones de memoria se expresan mediante un número binario o hexadecimal.

La siguiente figura muestra de una forma muy simplificada cómo se almacenan los datos en memoria.

Java almacenamiento de variables en memoria

Podemos ver que la dirección 1111111100000010 contiene el valor 20 y la dirección 1111111100000110 contiene el valor “ALICANTE”.

Para acceder a esos valores necesitaríamos conocer la dirección de memoria o sea toda la secuencia de ceros y unos. Para facilitar el manejo de las posiciones de memoria dentro de un programa, se sustituye este número binario por un identificador. Como se explica en otro tema, los identificadores son los nombres que el programador asigna a variables, constantes, clases, métodos, paquetes, etc. dentro de un programa.

identificadores para acceder a las variables en java

De esta forma en lugar de utilizar en nuestro programa 1111111100000010 para acceder al valor 20 utilizaremos edad. El sistema se encargará de saber que edad realmente representa la dirección de memoria donde se encuentra el dato.

Según esto podemos decir que una variable es una zona de memoria que se referencia mediante un identificador, conocido como nombre de la variable, donde se almacena un valor que puede cambiar durante la ejecución del programa.

Características de las variables en Java

Una variable en Java tiene tres características básicas:

  • Nombre. Es el identificador de la variable.
  • Tipo. Es el tipo de dato de la variable: int, double, char, etc.
  • Valor. Es la información que almacena.

Declaración de variables en Java

Para poder utilizar una variable en un programa, primero tenemos que declararla.

Declarar una variable significa asignarle un nombre y un tipo. También podemos asignarle un valor aunque no es obligatorio hacerlo en el momento de declararla.

Ejemplos de declaración de variables en Java:

int a; //declaramos la variable a de tipo int
char b; //declaramos la variable b de tipo char
int x = 5; //declaramos la variable x de tipo int y le asignamos el valor 5
char caracter = 'b';//se declara la variable caracter de tipo char y asignamos el valor 'b'
double altura = 6.25;//declaramos la variable altura tipo double y asignamos el valor 6.25
int contador = 0; //declaramos la variable contador de tipo int y le asignamos el valor 0

Valor por defecto de las variables en Java

En Java existen dos tipos de variables:

  • Variables locales
  • Atributos

Las variables locales son las que se declaran dentro de un método (por ejemplo, las variables que declaramos dentro del método main). A las variables locales NO se les asigna un valor por defecto. Es nuestra responsabilidad asignarles valores iniciales válidos.

Por ejemplo, si declaramos una variable y no le asignamos un valor:

int edad;

La variable edad no tiene un valor asignado por defecto. Antes de utilizar esta variable en alguna instrucción de cálculo, condición, bucle, etc. tendremos que haberle asignado un valor. De lo contrario se nos avisará del error.

Los atributos son variables que se declaran dentro de una clase pero fuera de cualquier método. A los atributos SÍ se le asignan valores iniciales por defecto.

Los valores iniciales que toman los atributos de una clase son estos:

  • 0 para tipos numéricos
  • '\0' para el tipo char
  • null para variables de tipo String y resto de referencias a objetos.

Los atributos de una clase se ven en detalle en los temas dedicados a la programación orientada a objetos.

Declaración de variables mediante var

A partir de Java 10 se incorporó al lenguaje Java la inferencia de tipo para variables locales (local variable type inference). Esto permite declarar variables sin necesidad de indicar el tipo. Java es capaz de deducir el tipo de la variable a partir del valor que se le asigna en el momento de declararla.

La declaración de variables se realiza mediante el identificador var.

Ejemplo:

var precio = 3.99;

En este ejemplo se declara una variable llamada precio y se le asigna el valor 3.99. Como 3.99 es un literal de tipo double, java asume que la variable precio es de tipo double.

Ejemplo:

var edad = 30;

Se declara una variable llamada edad y se le asigna el valor 30. Java asume que edad es de tipo int.

Las variables creadas mediante var funcionan igual que las creadas de forma tradicional. El uso de var no significa que las variables puedan cambiar de tipo durante la ejecución del programa. Una vez declarada una variable mediante var, el tipo asignado ya no se podrá cambiar.

Ejemplo:

var x = 1;
var x = "hola";  //error, x ya está declarada anteriormente

Restricciones al declarar variables mediante var

Debemos tener en cuenta una serie de restricciones a la hora de usar var para declarar variables en Java:

  • Solo se pueden declarar variables locales, es decir, variables que se encuentren dentro de un método.
  • No se pueden declarar mediante var los parámetros de un método o el tipo de retorno de un método.
  • Siempre se debe asignar un valor a la variable que se declara para poder inferir su tipo.
  • A la variable no se le puede asignar el valor null.

El uso de var hace que el código sea más fácil de leer y escribir pero al mismo tiempo oculta información sobre los tipos de datos utilizados. Por lo tanto no hay un criterio a seguir para decidir cuando usarlo y cuando no hacerlo.

Deja un comentario

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

Scroll al inicio