En PC Resumen hablaremos de cada uno de los diferentes tipos de datos que se pueden encontrar en la programación en Java.

Java permite declarar variables que almacenen información durante la ejecución de un programa. Todas las variables en Java tienen un tipo, un nombre y un ámbito (el ámbito determina cuando es accesible y cuando se crea y se destruye).

Tipos simples

Los tipos simples que permite declarar Java son los siguientes:

Tipo entero

  • byte: valor entero de 8 bits (-27..27-1)
  • short: valor entero de 16 bits (-215..215-1)
  • int: valor entero de 32 bits (-231..231-1)
  • long: valor entero de 64 bits (-263..263-1)

Las constantes enteras se consideran de tipo int, siempre que no vayan seguidas de la letra L. La L indica un valor long.

Todos los tipos enteros en Java son números con signo.

Ejemplos

  • 2L: el valor dos como long.
  • 077L: el cero inicial indica que es un valor en notación octal.
  • 0xBAACL: 0x indica un valor en hexadecimal.

Números en coma flotante reales

  • float: precisión simple, utiliza 32 bits (3.4E-038 a 3.4E + 038)
  • double: precisión doble, utiliza 64 bits (1.7E-308 a 1.7E + 308)

Se dice que una constante es en punto o coma flotante si incluye un punto decimal, una parte exponencial (indicada por la letra E o e) o bien va seguida de la letra F o f (float) o de la letra D o de (double).

Ejemplos

  • 03:14: número real simple
  • 6.02E23: número real gran
  • 2.718F: valor real float

Caracteres

  • char: almacena un carácter alfanumérico

Las variables de tipo char deben ir entre comilla simple.

Ejemplos

  • char ch = 'a';
  • char CH2 = '\t';

Un conjunto de caracteres se representa por medio de la clase String (no es un tipo simple). A diferencia de C/C++, las cadenas de texto no terminan con \0.

Boleano

  • Boolean: con dos valores posibles (true y false)

Declaración de tipos

Por convención, el nombre de las variables y el nombre de las clases empieza por una letra minúscula. Si un nombre de variable consiste en más de una palabra, como por ejemplo esVisible, las palabras se unen y cada palabra se inicia con una letra mayúscula.

El nombre de la variable va precedido de su tipo y se puede inicializar en la misma declaración.

Ejemplo

int count = 0;
String[] args;
char m = 'r';
boolean trobat = true;

Variables finales

Hay variables el valor de las que no se puede modificar después de inicializarse: son las variables final y se pueden ver como las constantes de otros lenguajes de programación.

Para declarar una variable como final, se utiliza la palabra reservada final ante el tipo.

Ejemplo

Si tenemos una definición como la siguiente:

final int variable = 0;

// Hacer algo como la siguiente:

variable = 5;

// Daría lugar a un error de compilación

Conversión de tipos o casting

La conversión de tipo es necesaria en el momento en que se intenta convertir un tipo a otro que ocupa menos espacio.

Con el fin de hacerla, se debe igualar la nueva variable a la vieja incluyendo a última del operando = y el nuevo tipo al que se debe convertir.

Ejemplo

int a = 2;
byte b;
b = (byte) a;

La conversión de tipo es el proceso que consiste en tomar una variable declarada como un tipo y decirle al compilador que la queremos tratar como otro tipo. La conversión de tipo se puede hacer tanto con tipos primitivos, como int o float, como con tipos de objetos tales como java.lang.Object y java.lang.String.

En el caso de tipos primitivos, la conversión de tipo es necesaria cuando cambiamos entre tipos de datos y hay posibilidad de perder información.

Ejemplo

Si tenemos un int y lo queremos tratar como un double, no hay que hacer una conversión de tipo para que un double contiene todo el rango de valores del int.

Es decir, se podría hacer:

int i = 2;
double d = i;

Ahora bien, para ir en dirección contraria, se necesita la conversión de tipos. El rango de números posibles para un double es superior que para un int; por lo tanto, habría que hacer, siguiendo el ejemplo anterior, una conversión de tipo:

double d = 2.0;
int i = (int) d;

Las variables se pueden convertir automáticamente cuando no se pierde información en la conversión.

Otros tipos

Java, a diferencia de otros lenguajes, contiene otros tipos especificados en las clases incluidas en el JDK; como la clase String que, en realidad, no es un tipo, sino que se trata de una clase que se utiliza en los programas, que facilita la programación aportando métodos preexistentes que permitirán, por ejemplo, de calcular automáticamente la longitud de una cadena o modificar el contenido del carácter enésimo de una cadena por otro carácter, pero se puede utilizar como un tipo básico en muchos aspectos.

Para llevar a cabo la gestión de cadenas, el paquete java.lang contiene las clases String y StringBuffer.

La clase String

Las cadenas serán el tipo de datos que utilizaremos para comunicar nuestras aplicaciones con los dispositivos de lectura y escritura de datos: el teclado y la pantalla.

Una variable de tipo String se puede interpretar como un vector de caracteres. Hay diferentes operaciones que podemos hacer sobre strings:

  • Declarar una variable de tipo String (de hecho, de la clase String).

Ejemplo

String prueba;

Asignar un valor a un string.

Hay dos métodos para asignar valores a los strings:

- Se crea un string con el operador new:

String cad = new String ();

y, después, se le asigna un valor:

cad = "cadena".
  • Se hacen las dos operaciones a la vez (String cad = "cadena";).

Se puede comprobar que el resultado de los dos métodos es el mismo haciendo lo siguiente:

System.out.println(cad);

Concatenar strings.

La concatenación se puede hacer de manera sencilla:

String cad = "Tengo" + num + "hermanos";

Hacer conversiones implícitas de otros tipos a strings.

Ejemplo

Supongamos que tenemos una variable x de tipo int, el valor es 5. Después de hacer

  • prueba = "El valor de x es" + x

El string prueba valdría "El valor de x es 5".

En esta asignación, se interpreta que el resultado final debe ser un string. Por esta razón, el operando x de la concatenación se convierte implícitamente a string.

Saber la longitud de un String

Ejemplo

String prueba = "Hola.";
int l = prueba.length();

Después de ejecutar las sentencias anteriores, el valor de la será 5.

Hacer conversiones explícitas de strings a otros tipos de datos. Para ello, es necesario que el string contenga un vector de caracteres que sea interpretable como un dato del tipo al que queremos convertir.

Ejemplo

Si prueba = "385", haciendo int x = Integer.parseInt (prueba) convertimos el valor de prueba a un entero y tendremos el valor entero 385 a la variable x.

Si la misma sentencia se hubiera ejecutado con el valor prueba = "Hola", deberíamos observado un error de ejecución del programa indicando que el contenido de la variable prueba no puede ser interpretado como un entero:

java.lang.NumberFormatException: Hola
at java.lang.Integer.parseInt (Integer.java)
at java.lang.Integer.parseInt (Integer.java)
at programa.main (suma.java:11)

Muchas otras operaciones que veremos más adelante cuando conozcamos la clase String.

Matrices

Una matriz es un grupo de variables al que se hace referencia mediante un nombre común. Pueden crearse matrices de cualquier tipo y pueden tener una o más dimensiones. Para acceder a un elemento específico de una matriz utilizan sus índices. Las matrices ofrecen unos medios adecuados para poder agrupar información relacionada.

Hay que tener claro que las matrices en Java no funcionan de la misma forma que en el lenguaje C, ya que en Java están implementadas como objetos.

Más adelante veremos cómo sacarle toda la potencia a las matrices. De momento sólo necesitamos saber un par de cosas:

Declaración

int[] unArray = new int[3];
int unArray[] = new int[3];
int[] diasMes = {31 , 28 , 31 , 30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31};

La primera y la segunda declaración son equivalentes y están declarando una mesa de tres posiciones de tipo int.

En la tercera declaración no le estamos dando la dimensión, pero al darle los valores, ya se calcula automáticamente el tamaño.

Hay que tener presente también que al igual que en C, las matrices comienzan a la posición 0.

Pin It