3. En Java diferenciamos dos tipos de
datos: por un lado, los tipos
primitivos, que se corresponden
con los tipos de variables en
lenguajes como C y que son los
datos elementales que hemos
citado. Por otro lado, los tipos
objeto (que normalmente
incluyen métodos).
4.
5. Tener siempre presente que los objetos en Java tienen un
tipo de tratamiento y los tipos primitivos, otro. Que en un
momento dado contengan la misma información no
significa en ningún caso que sean lo mismo. Iremos viendo
las diferencias entre ambos poco a poco. De momento,
recuerda que el tipo primitivo es algo elemental y el objeto
algo complejo. Supón una cesta de manzanas en la calle:
algo elemental. Supón una cesta de manzanas dentro de una
nave espacial (considerando el conjunto nave + cesta): algo
complejo. La información que portan puede ser la misma,
pero no son lo mismo.
6. TIPOS DE DATOS PRIMITIVOS
El lenguaje de programación es un lenguaje fuertemente tipado, esto
significa que todas las variables deben ser declaradas antes de ser
utilizadas. Esto implica establecer el tipo y el nombre de la variable,
como ya hemos visto:
int gear = 1;
Al hacer esto le indicamos al programa que existe una variable
llamada «gear», que almacena datos numéricos y que tiene un valor
inicial de «1». El tipo de dato de una variable determina los valores
que puede contener además de las operaciones que se puede
realizar sobre ella. El lenguaje de programación Java incluye siete
otros tipos de datos primitivos además de int. Un tipo primitivo está
predefinido por el lenguaje y se nombra con una palabra clave
reservada. Los valores primitivos no comparten estado con otros
valores primitivos. Los ocho tipos de datos primitivos incluidos en el
lenguaje de programación Java son:
8. OByte: El tipo de dato byte es un
entero de 8 bits complemento a dos.
Su valor mínimo es -128 y el máximo
127 (inclusive). El tipo de
datos byte se puede utilizar para
ahorrar memoria en grandes arrays,
donde el ahorro de memoria
realmente importa. También se
pueden utilizar en lugar de int donde
sus límites ayudan a aclarar el
código, el hecho de que el rango de
una variable es limitado puede servir
como una forma de documentación.
9. El tipo de dato short es un entero de 16
bits complemento a dos. Su valor mínimo es -
32,768 y el máximo 32,767 (inclusive). Se aplican
las mismas directrices que con byte: puede utilizar
short para ahorrar memoria en grandes arrays, en
situaciones en las que el ahorro realmente
importa.
10. Oint: El tipo de dato int es un entero de 32
bits complemento a dos. Su valor mínimo es -
2,147,483,648 y el máximo 2,147,483,647
(inclusive). Generalmente este tipo es la
elección predeterminada para valores enteros
a no ser que haya una razón (como las
mencionadas anteriormente) para elegir otro.
Este tipo de dato normalmente será lo
suficiente grande para los números que su
program vaya a utilizar pero si necesita un
rango más amplio, utilice long.
11. Olong: El tipo de dato long es un entero de 64 bits
complemento a dos. Su valor mínimo es -
9,223,372,036,854,775,808 y el máximo
9,223,372,036,854,775,807 (inclusive). Utilice este tipo de
dato cuando necesite un rango de valores más amplio que el
proporcionado por int.
O float: El tipo de dato float es un dato en coma flotante IEEE
754 de 32 bits y precisión simple. Su rango de valores está
fuera del ámbito de este tema, pero se detalla en la
sección 4.2.3 de la Especificación del lenguaje Java. Al igual
que con byte y short, se recomienda usar un float (en vez de
un double) si necesita ahorrar memoria en grandes array de
números en coma flotante. Este tipo de dato nunca debería
ser usado para valores precisos como, por ejemplo, divisas.
Para esto debería usarla
clase java.math.BigDecimal. Números y
cadenas trata BigDecimal y otras clases útiles
proporcionadas por la plataforma Java.
12.
13. El tipo de dato char es
un solo carácter Unicode de
16 bits. Tiene un valor mínimo
de 'u0000' (o «0») y un
máximo de 'uffff' (o 65.535
inclusive).
14. Valores
predeterminados
No siempre es necesario asignar un valor
cuando se declara un campo. El compilador
fija un valor predeterminado razonable para
los campos que se declaran pero no son
inicializados. En general, este valor será cero
o null, dependiendo del tipo de dato. Sin
embargo, fiarse de estos valores
predeterminados se considera una mala
costumbre en la programación.
15. Tipo de dato
Valor predeterminado (para
campos)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char 'u0000'
String (o cualquier objeto) null
boolean false
La siguiente tabla resume los valores predeterminados para los tipos de dato que
hemos mencionado anteriormente: