Diario de un Aprendiz de Java

Wednesday, May 18, 2005

Variables

Uno de los pilares principales de la programación es el uso de variables. En Java encontramos muchos tipos de variables, capaces de almacenar todos los tipos de datos que necesitemos. Pero al estar hablando de programación Orientada a Objetos tenemos que diferenciar variables de objetos. Las variables, en Java, son llamados primitivos. Simplemente almacenan un valor. En canvio, un objeto es un conjunto de variables y métodos. Como aún no hemos tratado los conceptos de clase y objeto, tan importantes en Java, la explicación anterior puede parecer difusa. No os preocupeis, que cuando tenga realmente claros los mecanismos de declaración y uso de clases escribiré un pequeño apunte aclaratorio sobre ellas. Hasta el momento, los que ya sabeis algo de programación podeis tratar a los primitivos como variables de toda la vida.
Tenemos distintos tipos de primitivos :

· boolean. Este tipo de variable solo puede tomar dos valores, o true o false. Por defecto, si no se le asigna ningún valor, le corresponde el valor false.
· char. Las variables de caracteres pueden contener cualquier caracter, tanto numeros, como letras, como signos. El valor por defecto es NULL.
· byte. Esta variable puede comprender valores numéricos enteros entre -128 y +127. Se caracteriza por su ligereza, ya que solo ocupa 8 bits (un byte), pero su utilidad es reducida.
· short. Igual que byte, pero ocupando el doble de memoria (dos bytes) y permitiendo asignar valores mucho más grande (exactamente desde -32768 hasta 32767). También debe ser un valor entero.
· int. Ocupa 32 bits (4 bytes), pero permite asignar valores en un rango especialmente grande; desde -2147483648 hasta 2147483647. Como en los tipos byte y short, el valor por defecto es 0.
· long. Las variables tipo long ocupan 64 bits (8 bytes), ya que sus valores pueden jugar dentro de un rango amplisimo (de -9223372036854775808 a 9223372036854775807 :D). Al igual que sus hermanos pequeños (byte, short e int), su valor por defecto es 0. Una cosa muy importante es que a la hora de asignar un valor a este tipo de variables, teneis que indicar que se trata de un long añadiendo una L (mayuscula) al final del numero. Luego publicaré un ejemplo práctico.
· float. Hasta ahora hemos hablado de variables para almacenar enteros, pero muchas veces necesitaremos representar numeros reales con decimales y demás. Para esto sirve float (y su hermana mayor, double). Ocupa 32 bits. Su precision es muy pobre, y se pueden obtener resultados extraños trabajando con numeros grandes. Trataremos este tema en más profundidad en próximos comentarios, apoyado de codigo fuente.
· double. Igual que float, pero mayor, ocupando 64 bits. Intenta arreglar los problemas de la coma flotante simple (float).

Ahora que ya sabemos los tipos de primitivos con los que contamos, y que la declaración de variables es simplemente tipoPrimitivo nombreVariable;, debemos saber que hay algunas convenciones a la hora de dar nombre a las variables, para hacer codigo más entendible. Los variables deben hablar de los datos que contienen, cosa que permite una mejor identificación. No podemos dar el nombre haceCalor a un primitivo tipo string que contiene el nombre del usuario de la aplicación, solo provocario lios a la hora de mejorar/ampliar/estudiar el codigo. Un nombre adecuado para la variable sería nombreUsuario. Como habreis notado, la primera letra del nombre de variable siempre debe estar en minúscula, y si usamos más de una palabra la primera letra de la segunda palabra la ponemos en mayuscula. Así, si queremos dar nombre a una variable que contenga el numero de dias del més de febrero, podríamos poner numeroDiasFebrero. Otra cosa importante es que no se pueden usar palabras reservadas de Java, como class o main.

Cuando tenemos una variable declarada (para seguir el lenguaje estricto de Java deberíamos decir "un primitivo referenciado"), toca asignarle un valor. Esto se hace mediante el operador =. Ahy van algunos ejemplos :

byte contador;
contador = 100;
short dieciseisBits;
DieciseisBits = 30500;
boolean verdaderoFalso;
verdaderoFalso = true;


Continuará ...

12 Comments:

Post a Comment

<< Home