Ensayo Tipo de Datos
Ensayo Tipo de Datos
Ensayo Tipo de Datos
almacenan directamente un valor que siempre pertenece al rango de ese tipo. Por ejemplo,
una variable int almacena un valor entero como 1, 2, 0, -1, etc. Esto significa que, al asignar
una variable entera a otra variable entera, se copia el valor de la primera en el espacio que
ocupa la segunda variable.
Como ya hemos comentado Java es un lenguaje de tipado estático. Es decir, se define el tipo
de dato de la variable a la hora de definir esta. Es por ello que todas las variables tendrán un
tipo de dato asignado.
byte
short
int
long
float
double
boolean
char
Es importante saber que estos son tipos de datos del lenguaje y que no representan objetos.
Cosa que sí sucede con el resto de elementos del lenguaje Java.
byte
Representa un tipo de dato de 8 bits con signo. De tal manera que puede almacenar los valores
numéricos de -128 a 127 (ambos inclusive).
short
Representa un tipo de dato de 16 bits con signo. De esta manera almacena valores numéricos
de -32.768 a 32.767.
int
Es un tipo de dato de 32 bits con signo para almacenar valores numéricos. Cuyo valor mínimo
es -231 y el valor máximo 231-1.
long
Es un tipo de dato de 64 bits con signo que almacena valores numéricos entre -263 a 263-1
float
Es un tipo dato para almacenar números en coma flotante con precisión simple de 32 bits.
double
Es un tipo de dato para almacenar números en coma flotante con doble precisión de 64 bits.
boolean
Sirve para definir tipos de datos booleanos. Es decir, aquellos que tienen un valor de true o
false. Ocupa 1 bit de información.
char
Las constantes literales de tipo carácter aparecen entre comillas simples. Como ya se ha
comentado anteriormente, los caracteres, cadenas e identificadores en Java se componen de
caracteres pertenecientes al conjunto de caracteres Unicode (http://www.unicode.org). Un
dato de tipo caracter representa un único carácter. El formato de Unicode utiliza 16 bits (2
bytes) para poder codificar un total de 65536 caracteres diferentes que incluyen caracteres y
símbolos procedentes de distintas lenguas del mundo. En este conjunto de caracteres
encontramos letras mayúsculas (‘A’, ‘B’, ‘C’...), letras minúsculas (‘a’, ‘b’, ‘c’...), signos de
puntuación (‘,’ ‘;’ ‘:’ ...), dígitos (‘0’, ‘1’, ‘2’...), símbolos especiales (‘#’, ‘&’, ‘%’...) y caracteres
de control (tabulador, retorno de carro, ...).
Hay algunos caracteres que pueden causar algún problema en el código fuente de un
programa Java debido a que se utilizan para tareas específicas dentro del lenguaje. Por
ejemplo, como se verá más adelante, el carácter correspondiente a las comillas dobles (") se
emplea para delimitar una cadena de caracteres. Para solucionar este inconveniente, existen
diferentes formas de indicar una constante literal de tipo carácter. Por ejemplo:
Una secuencia de escape es una serie de caracteres que comienza por el carácter
En este caso no se necesita escribir código para que la conversión se lleve a cabo. Ocurre
cuando se realiza lo que se llama una conversión ancha (widening casting), es decir, cuando se
coloca un valor pequeño en un contenedor grande.
Casting explícito
En el casting explícito sí es necesario escribir código. Ocurre cuando se realiza una conversión
estrecha (narrowing casting), es decir, cuando se coloca un valor grande en un contenedor
pequeño. Son susceptibles de pérdida de datos.
Como se ve, el formato general para indicar que queremos realizar la conversión es:
En este ejemplo, si se sustituye la primera línea int num1=100 por int num1=1000000, el
código compilaría bien, pero habría pérdida de datos, pues el 1000000 se sale del rango de
short, que comprende desde -32768 a 32767. Al mostrar por consola el valor se obtendría un
resultado incongruente.
En este ejemplo se hace un casting explícito en la segunda línea porque float es de menor
rango que double. En la tercera línea el compilador avisaría de que hay un error: cuando
escribimos directamente un número en decimal (como aquí el 17.25), Java lo interpreta
siempre como un double; por eso sería necesario un casting explícito para que compilase:
Para finalizar con el casting entre primitivas, conviene tener en cuenta lo siguiente:
No es posible realizar casting entre una variable primitiva booleana y cualquier otra variable
primitiva.
Sí es posible realizar casting entre una variable primitiva char y una variable primitiva que
almacene enteros:
Siendo la salida del programa:
Referencia a objetos:
Es una dirección que indica donde están almacenados los métodos y variables de un objeto.
En este ejemplo usamos la clase "Point" del paquete "awt" que contiene atributos de
coordenas (x,y). Declaramos 2 puntos, pero solo inicializamos uno con valores iniciales y
referenciamos a este con el otro, luego de cambiar estos valores el otro punto cambia por
referencia.
El resultado será:
Punto 1: (4,1)
Punto 2: (4,1)
Casting
El casting o casteo es la posibilidad de convertir el tipo de una variable u objeto en otro tipo.
Tipos Castings:
Con el Casting "NO" modificamos el original, sino que creamos una nueva variable u objeto.
Para todos los tipos de datos primitivos, existen unas clases llamadas Wrapper, también
conocidas como envoltorio, ya que proveen una serie de mecanismos que nos permiten
envolver a un tipo de dato primitivo permitiéndonos con ello el tratarlos como si fueran
objetos.
REFERENCIAS BIBLIOGRÁFICAS:
http://progra.usm.cl/apunte/materia/tipos.html
https://es.scribd.com/document/352376157/Diferencia-Entre-Tipos-Primitivos-y-Tipos-de-
Referencia-en-Java
https://www.manualweb.net/java/tipos-datos-primitivos-java/
https://www.arkaitzgarro.com/java/capitulo-3.html#:~:text=3.3%20Literales%20o
%20constantes%20literales,fuente%20de%20un%20programa%20Java.&text=Un%20dato
%20de%20tipo%20caracter%20representa%20un%20%C3%BAnico%20car%C3%A1cter.
https://sites.google.com/site/pro012iessanandres/java/conversion-entre-tipos-primitivos-
casting
https://dar10comyr.blogspot.com/2014/10/referencias-objetos-y-casting-casteo.html