lunes, 18 de noviembre de 2013

Variables en Java

Hola a todos los lectores del blog, en esta ocasión vamos a tratar sobre las variables en Java. Es muy básico.

Es muy simple, hay que saber que en Java hay que declarar las variables antes de utilizarlas y que una vez definido el tipo de dato que almacenará, éste no podrá ser modificado (ojo, el tipo de dato no se puede modificar, el valor sí que se puede), y la estructura de la declaración de variables en Java es:
tipo <lista de variables>;


La lista de variables son la o las variables separadas por "," (coma). Esto lo hacemos cuando definimos más de una variable del mismo tipo. Los tipos de variables que acepta Java son: tipos de datos primitivos y referencias a objetos(como clases o arreglos).

Las clases y los arreglos serán tema de otra entrada, ahora veremos los tipos de datos primitivos:

Para almacenar números enteros tenemos:
byte, ocupa 1 byte.
short, ocupa 2 bytes.
int, ocupa 4 bytes.
long, ocupa 8 bytes.

Para almacenar números con coma flotante (con parte decimal):
float, ocupa 4 bytes.
double, ocupa 8 bytes.

Existe un tipo de dato lógico, sólo puede almacenar 2 valores, true o false:
boolean, ocupa 1 bit.

Y por último tenemos el caracter:
char, ocupa 2 bytes.

Cuando comenzamos a programar tal vez no nos parezca necesario diferenciar entre byte, int y long, pero es muy importante si queremos que nuestras aplicaciones sean eficientes, aunque las computadoras actuales posean gran capacidad de procesamiento y memoria, no debe ser motivo para descuidarnos de la eficiencia de nuestros programas.

Una vez dicho esto, hay un tipo de dato que se usa mucho en Java, la cadena. La cadena es un conjunto de caracteres y se representa utilizando las comillas, por ejemplo "Hola mundo", y algo curioso (para quienes recién comienzan) es que aunque se utiliza mucho, la cadena no es un tipo de dato primitivo en java. Si ponemos atención, las palabras reservadas para los tipos de datos primitivos (int, long, etc.) son escritas siempre en minúscula, ahora veamos cómo declaramos una variable de tipo cadena:

String nombre;

Bueno, comienza con mayúscula, ¿Y?. Pues este hecho tan simple nos indica que String no es más que una clase, pero esto lo veremos a detalle en otra entrada, ahora veremos un ejemplo de declaración de variables.
public class Main{
    public static void main(String args[]){
        String nombre, apellido;
        int añoNacimiento;
        float sueldo;
        boolean estudia;
    }
}
Ahora las variables han sido creadas, esto significa que hay un espacio en memoria para guardar estos datos, pero aún no hemos asignado un valor a las variables. Para asignar valor a las variables es tan sencillo como esto:
public class Main{
    public static void main(String args[]){
        String nombre, apellido;
        int añoNacimiento;
        float sueldo;
        boolean estudia;

        nombre = "Edder"; //  = 
        apellido = "Sánchez";
        añoNacimiento = 1992;
        sueldo = 0.0f;// Para un float, el número debe terminar con f
        // Un equivalente sería: sueldo = (float)0.0;
        estudia = true;
    }
}
Y ahora, mostraremos el valor de las variables en pantalla, así como mostramos el clásico "Hola mundo":
public class Prueba {
    public static void main(String[] args) {
        String nombre, apellido;
        int añoNacimiento;
        float sueldo;
        boolean estudia;

        nombre = "Edder"; // < variable > = < valor >
        apellido = "Sánchez";
        añoNacimiento = 1992;
        sueldo = (float)0.0;
        estudia = true;
        
        System.out.println("Nombre: " + nombre);
        System.out.println("Apellido: " + apellido);
        System.out.println("Nacimiento: " + añoNacimiento);
        System.out.println("Sueldo: " + sueldo);
        
        if(estudia == true){
            System.out.println("Estudia: Sí");
        }else{
            System.out.println("Estudia: No");
        }            
    }    
}
¿Y qué es eso de if, else?¿Y por qué dentro de println hay un "+"?.
En primer lugar, si ya has programado en otros lenguajes, obviamente sabes qué es if y else, si eres completamente nuevo en programación, esto lo veremos luego, no te preocupes. De igual forma, el "+" dentro de println, adelanto que así se unen dos cadenas (no sólo cadenas) pero también lo veremos luego. 
Bueno, hasta ahora nuestro programa no nos sirve de mucho. Cuando creamos variables, durante el programa estamos modificando sus valores mediante expresiones. Líneas arriba les mencioné que la instrucción para asignar un valor a una variable era:

<nombre> = <valor>

Pues bien, esto no es cierto, sólo nos sirvió como una introducción. Una definición más adecuada sería:

<nombre> = <expresión>

¿Expresión?. Sí, una expresión es un conjunto de variables y/o valores, unidos con operadores. Por ejemplo: 3 + 2 es una expresión, y a + 5 * b también lo es. Entonces debemos tener claro que una expresión genera un resultado, (3 + 5 genera el resultado 8) y este resultado es el que se guardará en la variable. Entonces, lo que hay que saber por ahora, es que el resultado de la expresión debe ser del mismo tipo que la variable. Si la variable es int, el resultado de la expresión también debe ser int. Por lo tanto, lo siguiente es un error:

int a,b;
float c;

a = 0;
b = 2;
a = b + c;

Por ahora, si están usando un IDE, prueben expresiones, creen variables de diferentes tipos y observen cuándo hay errores, en la próxima entrada hablaremos brevemente de las operaciones permitidas en Java (aritméticas, relacionales, etc), y luego de esto veremos control de flujos (if, else) bucles (for, while, do-while) y luego por fin veremos clases.

Practiquen, y nuevamente, si algo se me olvidó o no expliqué muy bien, escríbanlo en los comentarios, y se podrá agregar o hacer un vídeo con las dudas. Hasta la próxima.

No hay comentarios:

Publicar un comentario