Está en la página 1de 8

INSTITUTO TECNOLÓGICO DE SALTILLO

Ensayo tipo de datos en java


Tópicos de programación 14:00 – 15:00
Miguel Angel López Morales
07/02/22

Concepto de tipo de datos:


Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores puede
tomar), qué operaciones se le pueden aplicar y cómo es representado internamente por el
computador.

Todos los valores que aparecen en un programa tienen un tipo.

Diferencia entre tipos primitivos y tipos referencia:

Las variables de tipos primitivos

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.

Las variables de tipo referencia a objetos

en cambio, almacenan direcciones y no valores directamente. Una referencia a un objeto es la


dirección de un área en memoria destinada a representar ese objeto. El área de memoria se
solicita con el operador new. Al asignar una variable de tipo referencia a objeto a otra variable
se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas
variables quedan refenciando el mismo objeto.

Descripción de tipos primitivos (naturaleza de valores, rango de valores, operaciones


aplicables)

Tipos de Datos Primitivos en Java

¿Qué son los tipos de datos primitivos en Java?

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.

El lenguaje Java da de base una serie de tipos de datos primitivos.

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

Es un tipo de datos que representa a un carácter Unicode sencillo de 16 bits.


Hay un tipo de dato String para el manejo de cadenas que no es en sí un tipo de dato primitivo.
Con el tipo de dato String podemos manejar cadenas de caracteres separadas por dobles
comillas.
El elemento String es un tipo de dato inmutable. Es decir, que, una vez creado, su valor no
puede ser cambiado.
Constantes literales de tipos primitivos
Un literal, valor literal ó constante literal es una constante cuyo nombre o identificador es la
representación escrita de su valor y tiene ya ese significado en el código fuente de un
programa Java. Seguidamente se muestran algunos ejemplos de valores o constantes literales
pertenecientes a los tipos primitivos que pueden utilizarse directamente en un programa
fuente de Java.

Las constantes literales booleanas son false y true.

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:

‘t’ // Representa la letra minúscula, con comillas simples

\t // Con la barra de pendiente negativa: secuencia de escape

\u0234 // Con la barra y la letra u: secuencia Unicode

Una secuencia de escape es una serie de caracteres que comienza por el carácter

Promoción automática y conversión explícita (promotion demotion, casting) de tipos


primitivos.

Conversión entre tipos primitivos (casting)

El casting es un procedimiento para transformar una variable primitiva de un tipo a otro.


También se utiliza para transformar un objeto de una clase a otra clase siempre y cuando haya
una relación de herencia entre ambas. En este caso nos centraremos en el primer ripo de
casting.

Dentro de este casting de variables primitivas se distinguen dos clases:


Casting implícito

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.

Ejemplo de casting explícitos serían:

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:

Conversión explícita (casting) de referencias a objetos.

Referencia a objetos:

No crean o copian 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á:

Valor inicial del Punto 1: (0,1)

Aquí vale el Punto 2: (0,1)

Luego de asignar valores al Punto 1...

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:

Conversión entre variables.

Conversión entre objetos.

Conversión de objetos a variables

Conversión de variables a objetos

Con el Casting "NO" modificamos el original, sino que creamos una nueva variable u objeto.

Clases envoltorio (Wrapper) de tipos primitivos.

¿Qué son las clases Wrapper?

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.

Tipos de wrappers en Java


Existen 8 tipos primitivos predefinidos en Java, cada uno de los tipos de tipos de datos
primitivos tienen asociados su correspondiente clase Wrapper para poder realizar las
conversiones de tipos primitivos a objetos (tipos no primitivos).

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

También podría gustarte