Programación en Java/Variables
De Wikilibros, la colección de libros de texto de contenido libre.
Las variables son la manera en que indicamos al compilador el espacio en memoria que debe de reservar para almacenar la información.
Podemos acceder a un dato alojado en la memoria por medio de una variable. Toda variable tiene un nombre para poder identificarla y realizar operaciones. Antes de trabajar con alguna variable debemos declararla en el programa. Por ejemplo:
String cliente;
Aquí estamos reservando memoria para una variable de tipo String y la identificamos con el nombre “cliente”. De ahora en adelante si en el programa hablamos de cliente, estamos haciendo referencia a esa porción de memoria y al valor que contiene.
Podemos asignarle algún valor en el momento de declarar una variable. Por ejemplo:
String cliente = "Isaac Newton";
Aquí reservamos memoria para una cadena de caracteres y le asignamos el valor "Isaac Newton". También podemos declararla y en otro lugar del programa fijarle un valor :
String cliente; // declaración ... // El programa sigue cliente = "Isaac Newton"; // le damos un valor
La sentencia para declarar una variable se resume como:
Tipo_Dato Nombre_Variable [= Valor];
Definimos el tipo de dato, el nombre y opcionalmente su valor.
Para ver como se utilizan las variables, podemos modificar el primer programa. Agregaremos una variable que contenga el texto que se mostrará en pantalla:
public class HolaMundo {
public static void main(String[] args){
String saludo = "¡Hola Mundo!";
System.out.println( saludo );
}
}
Definimos una variable de tipo String con el nombre "saludo". En la declaración de la variable también la inicializamos con el valor "¡Hola mundo!". Luego llamamos al método que imprimirá el texto en la pantalla haciendo referencia a la variable. En el programa original, explícitamente introducíamos el texto que se mostraría, ahora solo escribimos el nombre de la variable. Cuando el intérprete se encuentre con el nombre de esta variable, tendrá que buscar valor que almacene en la memoria para mostrarlo por pantalla.
Un variable puede cambiar su valor en el transcurso del programa.
public class UsoVariables{
public static void main(String args[]){
String saludo;
saludo = "Hola Mundo!";
System.out.println( saludo );
saludo = ("Estoy utilizando variables");
System.out.println( saludo );
}
}
Siempre debemos inicializar una variable. Al momento de leer el contenido de una variable, el compilador de Java siempre verifica que tenga un valor. De lo contrario el programa no compilará y mostrará el error. Un ejemplo de este caso:
String saludo;
if (x < 0) {
saludo = "Hola Mundo!";
}
System.out.println( saludo );
En este caso el compilador mostrará un mensaje de error indicando que la variable saludo no se ha inicializado con ningún valor. Como se puede observar esta variable solo se inicia cuando se cumple una condición, sin embargo se indica que va a ser utilizada siempre. El compilador detecta este posible error.
[editar] Nombre de la variable
El nombre debe ser único en el contexto del programa. Además debe seguir las siguientes reglas:
- No debe ser una palabra reservada del lenguaje o un literal booleano (true o false)
- Puede contener cualquier caracter Unicode, pero no debe comenzar con un número
- No debe contener los símbolos que se utilicen como operadores ( + , - , ?, etc )
- Por convención: Los nombres comienzan con una letra en minúscula. Si un nombre consiste en mas de una palabra, se escribirá sin espacios y cada palabra comenzará con una letra mayúscula (por ejemplo : estaBienEsteNombre )
[editar] Tipo de variable
Cada variable debe tener un tipo de dato predefinido. Esto determina el rango de valores que puede almacenar y que operaciones se pueden realizar. Por ejemplo una variable de tipo entero puede almacenar números sin decimales y puede realizarse operaciones aritméticas, pero no puede contener palabras.
Existen dos categorías de variables: las de tipo primitivo o las referenciadas. Una variable de tipo primitivo accede al valor asignado directamente. Las referenciadas se accede a través de un puntero, es decir que no almacenan un valor sino una dirección de memoria. Estas últimas son utilizadas por las matrices , las clases e interfaces.
| Tipo | Tamaño y formato | Rango |
|---|---|---|
| enteros | ||
| byte | 8 bits - complemento a 2 | ![]() |
| short | 16 bits - complemento a 2 | -![]() |
| int | 32 bits - complemento a 2 | ![]() |
| long | 64 bits - complemento a 2 | ![]() |
| números reales | ||
| float | 32 bits - IEEE 754 | |
| double | 64 bits - IEEE 754 | |
| otros | ||
| char | 16 bits - caracteres UNICODE | '\u0000' al '\uffff' |
| boolean | 1 bit | true o false |
En otros lenguajes de programación, el formato o el tamaño de los tipos primitivos dependen del microprocesador o del sistema operativo que se están ejecutando. En cambio, Java pretende ser independiente de la plataforma, y mantiene los formatos sin cambios. Para los caracteres alfanuméricos utiliza la codificación UNICODE de 16 bits para permitir la inclusión de varios alfabetos.



