viernes, 9 de septiembre de 2016

3-Tipos de datos, Variables y Constantes

3.1-Variables

En todo programa que realicemos necesitaremos utilizar variables. Las variables son zonas en la memoria de un ordenador con un valor que puede ser usado posteriormente en el programa.
¿Cómo se declara una variable en Java? Una variable en Java se declara de la siguiente manera:

  • Primero se pone el tipo de dato que va a almacenar esa variable (Los tipos de datos los veremos en este tema, más adelante).
  • En segundo lugar, el nombre de esa variable. A través del nombre de la variable podremos acceder al valor de esa variable. Al nombre de la variable se le denomina identificador.
  • En tercer y último lugar es el valor de dicha variable. Las variables cuando se declaran pueden tener un valor (dicho valor debe ser del tipo de dato de la variable), o bien, pueden ser declaradas con su valor por defecto. Si se inicializan en un valor se indica con el operador '='. Como debemos saber ya, cada instrucción en Java debe finalizar con punto y coma (;).
Ejemplos de declaración de variables:

int nombreVariable = 4; //Variable entera de nombre nombreVariable con valor inicial de 4.

String str = "Variables en Java"; //Variable String de nombre str que almacena Variables en Java

char caracter = 'c'; //Variable de tipo char de nombre carácter con valor c

boolean esCierto = true; //Variable de tipo booleano con valor true y nombre esCierto. Las variables booleanas sólo puden tener dos valores, true o false.

int numero;//Variable de tipo entero de nombre numero que no contiene ningún valor inicial.

Los tipos de variables van siempre en minúsculas salvo String que comienza con letra mayúsculas. Esto es porque String es una clase en Java y, las clases en Java siempre van en mayúsculas. Cuando escribimos la siguiente instrucción:
String saludo = "Hola"; 

Lo que hace Java es crear automáticamente un objeto de nombre saludo con valor Hola. La siguiente instrucción sería igual que la instrucción anterior.
String saludo = new String ("Hola");

En este caso, se crea explícitamente el objeto y se le pasa como parámetro el valor Hola que se almacena en el objeto saludo.
Caaaaaaaaaalma!!!!!!! todo a su debido tiempo, sé que esto ahora no lo entendéis ni sabéis de qué estoy hablando pero no pasa nada, porque lo vais a ir viendo poco a poco conforme nos adentremos en la programación orientada a objetos con Java y veamos cómo funciona. Así que, aunque no lo entendáis quedaros con el concepto básico de que los tipos de variables se escriben en minúsculas menos String que es una clase, y las clases en Java empiezan en mayúsculas (por convención, no es obligatorio).
Sé que todo esto al principio puede parecer muy lioso al principio, pero veréis como poco a poco, si seguís los tutoriales y haciendo los ejercicios vais a entenderlo todo.

3.2-Identificadores (Nombres de las variables)


Un identificador es el nombre que se le da a la variable. Este nombre debe ser una secuencia ilimitada sin espacios de letras y dígitos Unicode (Ir a la siguiente dirección para ver la definición de Unicode) de manera que el primer símbolo debe ser una letra, guión bajo (_) o el símbolo del dólar.
¿Qué convenios y reglas debemos seguir para poner nombres a las variables?

  • Java es sensible a las mayúsculas, por lo que la variable saludo es distinta a la variable Saludo
  • Aunque el nombre de una variable puede comenzar por guión bajo y el símbolo del dólar, estos no se suelen utilizar nunca.
  • No se puede utilizar el valor booleano (true o false) ni el valor nulo (null)
  • Los nombres de las variables deben de ser lo más descriptivos posibles. Debe describir brevemente qué información almacenará la variable.

3.3-Tipos de variable

Podemos diferenciar varios tipos de variables:
  1. Variables de tipos primitivos y variables referencia, según el tipo de información que contengan. Hemos estado viendo algunas variables de tipo primitivo como int, char, boolean y además hay más que veremos después como long, short... Los tipos de datos referencia son las variables que contiene la dirección en memoria de un valor o un grupo de valores. Por ejemplo son tipos de datos referencia los arrays y las clases. Los String también podrían ser considerados como variables referencia. Los arrays los veremos en el siguiente tutorial.
  2. Variables y constantes, según si su valor puede o no cambiar durante un programa. Las constantes, por convención, se nombran en mayúsculas y, si el nombre de dicha variable está formada por más de una palabra, ésta será separada por guión bajo (_).
  3. Variables miembro y variables locales, según dónde aparezcan. Las variables miembro son las variables que se crean dentro de una clase, fuera de cualquier método. Las variables locales son variables que se crean y utilizan dentro de un método, este tipo de variable deja de existir cuando la ejecución del método finaliza. Todavía no hemos visto la estructura de una clase y los métodos por lo que cuando llegue su momento veremos las variables miembro y locales.
Veamos algunos ejemplos:

final double PI = 3.14; //PI es una constante, su valor no podrá ser cambiado.

Si seguido de la instrucción anterior asignáramos el valor de PI a 5 por ejemplo nos daría un error.

PI = 5; //Nos daría un fallo porque no se puede cambiar el valor de una constante.

3.4-Los tipos de datos primitivos

Como dijimos anteriormente, en un programa vamos a tener que utilizar variables para almacenar información para luego recuperarla. Las variables deberán de ser de un tipo de dato según qué información contenga, no será lo mismo una variable que contenga texto que otra que contenga un valor booleano, un número o un byte.... Veamos los tipos de datos primitivos:
  • El byte. El byte se utiliza para representar números que tienen un rango aproximado de -128 y 127. Se utiliza para almacenar números pequeños.
  • short. Representa números con un rango mayor que byte que va desde -32768 a 32767
  • int. Al igual que los dos anteriores, sirve para representar números pero con un rango mayor que oscila entre -2147483648 a 2147483647
  • long. Abarca prácticamente cualquier número que se pueda representar
  • float. Representan números en coma flotante de precisión simple
  • double. Representan números en coma flotante de precisión doble
  • char. Este tipo de variable representa un sólo carácter. Vimos que en un String se puede almacenar una frase, es decir, un conjunto de caracteres, pero un char sólo puede almacenar un carácter, cualquier carácter. El valor a una variable char va entre comillas simples (''). Por ejemplo: char carácter = 'c';
  • boolean. Representa uno de los dos valores, o true o false. Si no se le asigna valor en su inicialización la variable tendrá por defecto el valor false.

Veamos en un ejemplo más amplio todos estos tipos de datos:

byte vidas = 3;
short intentos = 2568;
int suma = 47859856;
long sumaTotal = 1478568521;
float numDecimal = 35.48F//Debemos indicar con una f o F a java de que trata de un número float. Si eliminamos la f o F se producirá un error
double numDouble = 56.78D; //En las variables double no es necesario indicar con d o D el tipo de variable a java, pero sí se recomienda
char caracter = 's';
boolean eleccion = "true";

Hay que elegir bien el tipo de dato de la variable porque ocupa tamaño. Si elegimos una variable llamada años de tipo int estamos haciendo un mal uso, puesto que un int ocupará más memoria que un byte, que sería el tipo de variable correcta para la variable años porque sabemos que una persona no tendrá más de 127 años (si llega alguien a esa edad por favor, diga su secreto xD)

3.5-Los tipos enumerados

Los tipos de datos enumerados son una forma de declarar una variable con un conjunto restringido de valores. Por ejemplo, los días de la semana, las estaciones del año, los meses, etc. Es como si definiéramos nuestro propio tipo de datos.

La forma de declararlos es con la palabra reservada enum, seguida del nombre de la variable y la lista de valores que puede tomar entre llaves. A los valores que se colocan dentro de las llaves se les considera como constantes, van separados por comas y deben ser valores únicos.
La lista de valores se coloca entre llaves, porque un tipo de datos enum no es otra cosa que una especie de clase en Java, y todas las clases llevan su contenido entre llaves. Para entender mejor los tipos de datos enumerados vamos a verlo en un ejemplo Java:
class TiposEnumerados {
    enum Dias {Lunes, Martes, Miércoles, Jueves, Viernes, Sábado, Domingo};

    public static void main(String[] args) {

        Dias diaActual = Dias.Viernes;

        Dias diaSiguiente = Dias.Sábado;

        
        System.out.println("Hoy es: " + diaActual);

        System.out.println("Mañana es: " + diaSiguiente);

    }

}

Es muy probable que este tipo de datos no sepáis porqué se utilizan así y no lo entendáis, tranquilos, porque este tipo de datos lo entenderéis cuando veamos la creación de clases y objetos.

Con esto terminamos el tercer tutorial para aprender a programar Java. Ahora poner en práctica lo aprendido, crear variables de varios tipos, ver que pasa si una variable byte le asignamos un valor mayor a su rango y no dejéis de "picar código", es la única manera de aprender.
En el tutorial número 4 estudiaremos los Arrays, que son un tipo de variables de tipo referencia, y haremos algunos ejercicios con ellos.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...