1.5 Tipos de datos

Los tipos de datos se utilizan para declarar variables y el compilador sepa de antemano que tipo de información contendrá la variable.

Java dispone de los siguientes tipos de datos simples:

Tipo de dato Representación Tamaño (Bytes) Rango de Valores Valor por defecto Clase Asociada
byte Numérico Entero con signo 1 -128 a 127 0 Byte
short Numérico Entero con signo 2 -32768 a 32767 0 Short
int Numérico Entero con signo 4 -2147483648 a 2147483647 0 Integer
long Numérico Entero con signo 8 -9223372036854775808 a 9223372036854775807 0 Long
float Numérico en Coma flotante de precisión simple Norma IEEE 754 4 -3.4x10-38 a 3.4x1038 0.0 Float
double Numérico en Coma flotante de precisión doble Norma IEEE 754 8 -1.8x10-308 a 1.8x10 308 0.0 Double
char Carácter Unicode 2 \u0000 a \uFFFF \u0000 Character
boolean Dato lógico - true ó false false Boolean
void - - - - Void

Sobre valores por defecto e inicialización de variables:

1
2
3
4
5
6
public class ClaseEjemplo {
    public static void main(String[] args) {
        int a;
        System.out.println(a);
    }
}
ErrorLa variable a es local al método main, por lo que se debe inicializar para no cometer error de compilación.

1
2
3
4
5
6
public class ClaseEjemplo {
    static int a;
    public static void main(String[] args) {
        System.out.println(a);
    }
}
OkLa variable a es global a la clase ClaseEjemplo, por lo que de no inicializarla tendrá como valor su valor por defecto (al ser de tipo int será 0).

Ejemplos de declaración y asignación de valores a variables:

Tipo de datos código
byte byte a;
short short b, c=3;
int int d=-30;
int e=0xC125; //la 0x significa Hexadecimal
long long b=46240;
long b=5L; // La L en este caso indica Long
char char car1='c'
char car2=99; //car1 y car2 son iguales, la c equivale al ascii 99
char letra = '\u0063'; //código unicode del carácter "c"
float float pi=3.1416;
float pi=3.1416F; //La F significa float
float medio=1/2; //0.5
double double millon=1e6; // 1x10^6
double medio=1/2D; //0.5, la D significa double
double z=.123; //si la parte entera es 0 se puede omitir
boolean boolean primero;
boolean par=false;