Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los primeros lenguajes de programacin no usaban objetos, solo variables. Una variable podramos decir que es un
espacio de la memoria del ordenador a la que asignamos un contenido que puede ser un valor numrico (slo
nmeros, con su valor de clculo) o de tipo carcter o cadena de caracteres (valor alfanumrico que constar slo de
texto o de texto mezclado con nmeros).
Como ejemplo podemos definir una variable a que contenga 32 y esto lo escribimos como a = 32. Posteriormente
podemos cambiar el valor de a y hacer a = 78. O hacer a equivalente al valor de otra variable b as: a = b.
Dado que antes hemos dicho que un objeto tambin ocupa un espacio de memoria: en qu se parecen y en qu se
diferencia un objeto de una variable? Consideraremos que las variables son entidades elementales: un nmero, un
carcter, un valor verdadero o falso mientras que los objetos son entidades complejas que pueden estar formadas
por la agrupacin de muchas variables y mtodos. Pero ambas cosas ocupan lo mismo: un espacio de memoria (que
puede ser ms o menos grande).
En los programas en Java puede ser necesario tanto el uso de datos elementales como de datos complejos. Por eso
en Java se usa el trmino Tipos de datos para englobar a cualquier cosa que ocupa un espacio de memoria y que
puede ir tomando distintos valores o caractersticas durante la ejecucin del programa. Es decir, en vez de hablar de
tipos de variables o de tipos de objetos, hablaremos simplemente de tipos de datos. Sin embargo, a veces
coloquialmente no se utiliza la terminologa de forma estricta: puedes encontrarte textos o pginas web donde se
habla de una variable en alusin a un objeto.
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 mtodos).
NOMBRE
TIPO
OCUPA
RANGO APROXIMADO
byte
Entero
1 byte
-128 a 127
short
Entero
2 bytes
-32768 a 32767
int
Entero
4 bytes
2*109
TIPOS PRIMITIVOS
long
Entero
8 bytes
Muy grande
float
Decimal
4 bytes
Muy grande
8 bytes
Muy grande
2 bytes
---
1 byte
---
objetos; no necesitan
una invocacin para ser
simple
double
creados)
Decimal
doble
char
Carcter
simple
boolean
Valor
true o
TIPOS DE
false
DATOS EN
JAVA
Tipos de la biblioteca
estndar de Java
programador / usuario
Autobus, Tranvia
arrays
TIPOS OBJETO
carece de mtodos.
(con mtodos,
necesitan una
Tipos envoltorio o
Byte
wrapper (Equivalentes a
Short
creados)
Integer
Long
Float
Double
Character
Boolean
Tipo de
dato
Representacin
Tamao
(Bytes)
Rango de Valores
Valor por
defecto
Clase
Asociada
byte
Numrico Entero
con signo
-128 a 127
Byte
short
Numrico Entero
con signo
-32768 a 32767
Short
int
Numrico Entero
con signo
-2147483648 a 2147483647
Integer
long
Numrico Entero
con signo
-9223372036854775808 a
9223372036854775807
Long
float
Numrico en Coma
flotante de
precisin simple
Norma IEEE 754
3.4x10-38 a 3.4x1038
0.0
Float
double
Numrico en Coma
flotante de
precisin doble
Norma IEEE 754
1.8x10-308 a 1.8x10308
0.0
Double
Carcter Unicode
\u0000 a \uFFFF
\u0000
Character
Dato lgico
true false
false
Boolean
Void
char
boolean
void
1. Un objeto es una cosa distinta a un tipo primitivo, aunque porten la misma informacin. 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 informacin no significa en ningn 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. Supn
una cesta de manzanas en la calle: algo elemental. Supn una cesta de manzanas dentro de una nave espacial
(considerando el conjunto nave + cesta): algo complejo. La informacin que portan puede ser la misma, pero no son
lo mismo.
2. Para qu tener esa aparente duplicidad entre tipos primitivos y tipos envoltorio? Esto es una cuestin que atae
a la concepcin del lenguaje de programacin. Tener en cuenta una cosa: un tipo primitivo es un dato elemental y
carece de mtodos, mientras que un objeto es una entidad compleja y dispone de mtodos. Por otro lado, de acuerdo
con la especificacin de Java, es posible que necesitemos utilizar dentro de un programa un objeto que porte como
contenido un nmero entero. Desde el momento en que sea necesario un objeto habremos de pensar en un
envoltorio, por ejemplo Integer. Inicialmente nos puede costar un poco distinguir cundo usar un tipo primitivo y
cundo un envoltorio en situaciones en las que ambos sean vlidos. Seguiremos esta regla: usaremos por norma
general tipos primitivos. Cuando para la estructura de datos o el proceso a realizar sea necesario un objeto, usaremos
un envoltorio.
3. Los nombres de tipos primitivos y envoltorio se parecen mucho. En realidad, excepto entre int e Integer y char y
Character, la diferencia se limita a que en un caso la inicial es minscula (por ejemplo double) y en el otro es mayscula
(Double). Esa similitud puede confundirnos inicialmente, pero hemos de tener muy claro qu es cada tipo y cundo
utilizar cada tipo.
4. Una cadena de caracteres es un objeto. El tipo String en Java nos permite crear objetos que contienen texto
(palabras, frases, etc.). El texto debe ir siempre entre comillas. Muchas veces se cree errneamente que el tipo String
es un tipo primitivo por analoga con otros lenguajes donde String funciona como una variable elemental. En Java no
es as.
5. Hay distintos tipos primitivos enteros. Cul usar? Por norma general usaremos el tipo int. Para casos en los que
el entero pueda ser muy grande usaremos el tipo long. Los tipos byte y short los usaremos cuando tengamos un
mayor dominio del lenguaje.
6. Cuntos tipos de la biblioteca estndar de Java hay? Cientos o miles. Es imposible conocerlos todos.
7. Un array es un objeto? Los arrays los consideraremos objetos especiales, los nicos objetos en Java que carecen
de mtodos.
Short
Int
Long
Double
Boolean:
El tipo de dato boolean puede representar dos valores logicos : true(verdadero)
ofalse(falso).
Char:
El tipo de dato char se usa para representar caracteres(codigo Unicode).
Un caracter es representado internamente por un entero
Char es un carcter Unicode de 16 bits.
El valor mnimo es \u0000 (o 0).
El valor mximo es \uffff (o 65.535 inclusive).
Tipo de datos char se utiliza para almacenar cualquier carcter.
Ejemplo: char letra = 'A'
B)
REFERENCIAS A OBJETOS.
Los tipos de datos bsicos o primitivos no son objetos y se pueden utilizar directamente
en un programa sin necesidad de crear objetos de este tipo. La biblioteca Java
proporciona clases asociadas a estos tipos que proporcionan mtodos que facilitan su
manejo.
Los tipos de datos primitivos que soporta Java son:
Tipo de
dato
Representacin
Tam
ao
(Byt
es)
Rango de Valores
byte
-128 a 127
Byte
short
-32768 a 32767
Short
int
-2147483648
a 2147483647
Integer
long
-9223372036854775808 a
9223372036854775807
Long
float
Numrico en Coma
flotante de precisin
simple Norma IEEE
754
3.4x10-38 a 3.4x1038
0.0
Float
double
Numrico en Coma
flotante de precisin
doble Norma IEEE
754
1.8x10-308 a 1.8x10308
0.0
Double
Carcter Unicode
\u0000 a \uFFFF
\u00
00
Character
Dato lgico
true false
false
Boolean
Void
char
boolea
n
void
Valo Clase
r por Asociada
defe
cto
En el conjunto de caracteres ASCII bsico, los primeros 32 valores estn asignados a los
cdigos de control de comunicaciones y de impresora (caracteres no imprimibles)
empleados para controlar la forma en que la informacin es transferida desde una
computadora a otra o desde una computadora a una impresora. En este grupo estn los
cdigos correspondientes a la barra espaciadora (SP por space), la tecla ENTER de
retorno de carro a un nuevo rengln (CR por carry return), etc. Tambin existen
caracteres de control usados en teleprocesamiento, como ser ACK (Acknowledge - aviso
de mensaje recibido), BEL (bell - aviso por seal sonora), ETX (end of text fin de texto),
STX (start of text comienzo de texto), etc.
Los 96 cdigos restantes del cdigo bsico corresponden a los caracteres imprimibles y
se asignan a los signos de puntuacin corrientes, a los dgitos del 0 al 9 y a las letras
maysculas y minsculas del alfabeto latino.
Los cdigos correspondientes al ASCII extendido, del 128 al 255, se asignan a aquellos
caracteres que no pertenecen al alfabeto anglosajn, por ejemplo, las vocales con tilde,
la , y en general todos los caracteres especiales que utilizan los distintos lenguajes.
Debido a lo limitado de su tamao, el cdigo ASCII no es suficiente para representar
caracteres de alfabetos como el Japons, Chino o rabe. La solucin a este problema ha
sido crear un cdigo ms grande con el que poder representar cualquier carcter de
cualquier idioma: el cdigo Unicode.
El cdigo UNICODE proporciona una nica representacin numrica para cada smbolo,
independientemente del ordenador, el programa o el lenguaje de programacin que se
use.
La codificacin Unicode se ha transformado en un estndar adoptado por las principales
empresas dehardware y software. Java utiliza la codificacin Unicode.
La descripcin completa del estndar y las tablas de caracteres estn disponibles en la
pgina web oficial de Unicode http://www.unicode.org/. La referencia completa se
publica, adems, en forma de libro impreso cada vez que se libera una nueva versin
principal. La versin digital de este libro est disponible de forma gratuita.
Ejemplo de declaracin de variables de tipo carcter:
char car;
char letra1 = 'z';
char letra = '\u0061'; //cdigo unicode del carcter a
DATOS DE TIPO LGICO
Se representan con el tipo boolean.
Los datos de este tipo slo pueden contener dos valores: true (verdadero) false (falso).
Ejemplo de declaracin de variables lgicas:
boolean primero;
boolean par = false;
Los tipos de datos lgicos son tambin conocidos como booleanos en honor del
matemtico ingls George Bool, que desarroll la teora conocida como lgebra de bool
que fue la base para la representacin de los circuitos lgicos.