"¡Hola, amigo!"

"¡Hola, Rishi!"

"Ya dominas los conceptos básicos de la sintaxis de Java, así que ahora quiero darte algunos detalles más".

"Hoy hablaremos sobre los tipos primitivos y la cantidad de memoria que ocupan. Este conocimiento será útil, tal vez incluso hoy. Estos son los tipos básicos:"

Tipo Tamaño,
bytes
Rango de valores Valor por defecto Descripción
byte 1 -128 .. 127 0 El entero más pequeño, 1 byte
corto 2 -32.768 .. 32.767 0 Entero corto, 2 bytes
En t 4 -2*10 9  .. 2*10 9 0 Entero, 4 bytes
largo 8 -9*10 18  .. 9*10 18 0L Entero largo, 8 bytes
flotar 4 -10 127  .. 10 127 0.0f Número fraccionario, 4 bytes
doble 8 -10 1023  .. 10 1023 0.0d Número fraccionario que es el doble del tamaño de un flotante, 8 bytes
booleano 1 verdadero Falso FALSO Tipo booleano (solo verdadero o falso)
carbonizarse 2 0..65,535 '\u0000' Caracteres, 2 bytes, todos los valores sin firmar
Objeto 4 Cualquier referencia o nulo. nulo Almacena referencias a instancias de Object o clases que descienden de Object

"Déjame contarte más sobre cada tipo".

"El tipo de byte es el tipo de entero más pequeño. Las variables de este tipo ocupan solo 1 byte de memoria. Un byte puede almacenar valores en el rango entre -128 y 127".

"¿Por qué necesitamos un tipo tan pequeño? ¿Por qué no podemos usar siempre int?"

"Podríamos. Pero si está creando matrices grandes cuyos elementos nunca necesitan almacenar valores superiores a 100, ¿por qué no usar este tipo? ¿Tiene sentido?"

"Un corto es el doble de largo que un byte, y también solo almacena números enteros. El mayor número positivo que puede almacenar es 32 767. El mayor número negativo que puede almacenar es -32 768".

"El  tipo int  con el que ya está familiarizado. Puede almacenar números enteros en el rango de ±2,000,000,000".

"El  tipo flotante  se creó para almacenar números reales (fraccionales). Su tamaño es de 4 bytes".

"Los números fraccionarios se almacenan de una forma bastante interesante".

"Por ejemplo, el número  987654.321  se puede representar como 0.987654321*10 6 . Esto significa que se puede representar como dos números en la memoria: 0. 987654321 ( mantisa o significado ) y 6 ( exponente en base 10 )".

"¿Para qué necesitamos eso?"

"Este enfoque nos permite usar 4 bytes para almacenar números mucho más grandes de lo que puede almacenar un int. Para hacer esto, debemos sacrificar la precisión. Solo una parte de esos bytes se usa para almacenar la mantisa, lo que significa que estos números solo almacenan 6-7 lugares decimales. Los lugares decimales menos significativos se descartan".

"Estos números también se denominan números de punto flotante . De ahí proviene el nombre del tipo flotante " .

"Veo."

"El tipo double es similar a float , pero el doble de largo (de ahí el nombre), ocupando 8 bytes. Puede acomodar una mantisa más grande y dígitos más significativos. Si necesita almacenar números reales, siempre intente usar este tipo. "

" char es un tipo híbrido. Sus valores se pueden interpretar tanto como números (que se pueden sumar o restar) como como caracteres. Esto es posible porque aunque los caracteres tengan una representación visual, la computadora los ve principalmente como números. Y es más conveniente para tratarlos como números. Una cosa más: el tipo char siempre es positivo. No puede contener valores negativos " .

"El tipo booleano es un tipo lógico que puede almacenar solo dos valores: verdadero o falso  " .

"A pesar de su presencia en este gráfico, el tipo de objeto no es un tipo primitivo. Es la clase base para todas las clases en Java. Primero, todas las clases se derivan de él y, por lo tanto, contienen sus métodos. Segundo, una variable de objeto puede almacenar referencias a objetos de cualquier tipo, incluido nulo ( una referencia nula )."

"He aprendido mucho hoy. Gracias por la lección, Rishi".