Tipos de datos Java
Tipos de datos Java
Como se explicó en el capítulo anterior, una variable en Java debe ser un tipo de datos específico:
Ejemplo
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating point number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
Los tipos de datos se dividen en dos grupos:
- Tipos de datos primitivos: incluye
byte
,short
,int
,long
,float
,double
yboolean
char
- Tipos de datos no primitivos, como String , Arrays y Classes (aprenderá más sobre estos en un capítulo posterior)
Tipos de datos primitivos
Un tipo de datos primitivo especifica el tamaño y el tipo de los valores de las variables y no tiene métodos adicionales.
Hay ocho tipos de datos primitivos en Java:
Data Type | Size | Description |
---|---|---|
byte | 1 byte | Stores whole numbers from -128 to 127 |
short | 2 bytes | Stores whole numbers from -32,768 to 32,767 |
int | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean | 1 bit | Stores true or false values |
char | 2 bytes | Stores a single character/letter or ASCII values |
Números
Los tipos de números primitivos se dividen en dos grupos:
Los tipos enteros almacenan números enteros, positivos o negativos (como 123 o -456), sin decimales.
Los tipos válidos son byte
, short
y . El tipo que debe usar depende del valor numérico.int
long
Los tipos de punto flotante representan números con una parte fraccionaria, que contienen uno o más decimales. Hay dos tipos: float
y double
.
Aunque hay muchos tipos numéricos en Java, los más usados para números son int
(para números enteros) y double
(para números de punto flotante). Sin embargo, los describiremos todos a medida que continúes leyendo.
Tipos de enteros
Byte
El byte
tipo de datos puede almacenar números enteros de -128 a 127. Esto se puede usar en lugar de int
u otros tipos de enteros para ahorrar memoria cuando está seguro de que el valor estará entre -128 y 127:
Ejemplo
byte myNum = 100;
System.out.println(myNum);
Corto
El short
tipo de datos puede almacenar números enteros desde -32768 hasta 32767:
Ejemplo
short myNum = 5000;
System.out.println(myNum);
En t
El int
tipo de datos puede almacenar números enteros desde -2147483648 hasta 2147483647. En general, y en nuestro tutorial, el int
tipo de datos es el tipo de datos preferido cuando creamos variables con un valor numérico.
Ejemplo
int myNum = 100000;
System.out.println(myNum);
Largo
El long
tipo de datos puede almacenar números enteros desde -9223372036854775808 hasta 9223372036854775807. Esto se usa cuando int no es lo suficientemente grande para almacenar el valor. Tenga en cuenta que debe terminar el valor con una "L":
Ejemplo
long myNum = 15000000000L;
System.out.println(myNum);
Tipos de punto flotante
Debe usar un tipo de punto flotante cada vez que necesite un número con un decimal, como 9,99 o 3,14515.
Flotador
El float
tipo de datos puede almacenar números fraccionarios desde 3.4e−038 hasta 3.4e+038. Tenga en cuenta que debe terminar el valor con una "f":
Ejemplo
float myNum = 5.75f;
System.out.println(myNum);
Doble
El double
tipo de datos puede almacenar números fraccionarios desde 1.7e−308 hasta 1.7e+308. Tenga en cuenta que debe terminar el valor con una "d":
Ejemplo
double myNum = 19.99d;
System.out.println(myNum);
Usar float
o double
?
La precisión de un valor de punto flotante indica cuántos dígitos puede tener el valor después del punto decimal. La precisión de float
es de sólo seis o siete dígitos decimales, mientras que double
las variables tienen una precisión de unos 15 dígitos. Por lo tanto, es más seguro usarlo double
para la mayoría de los cálculos.
números científicos
Un número de punto flotante también puede ser un número científico con una "e" para indicar la potencia de 10:
Ejemplo
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
Booleanos
Un tipo de dato booleano se declara con la boolean
palabra clave y solo puede tomar los valores true
o false
:
Ejemplo
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
Los valores booleanos se utilizan principalmente para pruebas condicionales, sobre las que aprenderá más en un capítulo posterior.
Caracteres
El char
tipo de datos se utiliza para almacenar un
solo carácter. El carácter debe estar entre comillas simples, como 'A' o 'c':
Ejemplo
char myGrade = 'B';
System.out.println(myGrade);
Alternativamente, puede usar valores ASCII para mostrar ciertos caracteres:
Ejemplo
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Sugerencia: Puede encontrar una lista de todos los valores ASCII en nuestra Referencia de tablas ASCII .
Instrumentos de cuerda
El String
tipo de datos se utiliza para almacenar una secuencia de caracteres (texto). Los valores de cadena deben estar entre comillas dobles:
Ejemplo
String greeting = "Hello World";
System.out.println(greeting);
El tipo String es tan usado e integrado en Java, que algunos lo llaman "el noveno tipo especial".
Una cadena en Java es en realidad un tipo de datos no primitivo , porque se refiere a un objeto. El objeto String tiene métodos que se utilizan para realizar ciertas operaciones en cadenas. No se preocupe si todavía no entiende el término "objeto" . Aprenderemos más sobre cadenas y objetos en un capítulo posterior.
Tipos de datos no primitivos
Los tipos de datos no primitivos se denominan tipos de referencia porque se refieren a objetos.
La principal diferencia entre los tipos de datos primitivos y no primitivos son:
- Los tipos primitivos están predefinidos (ya definidos) en Java. Los tipos no primitivos son creados por el programador y no están definidos por Java (excepto para
String
). - Los tipos no primitivos se pueden usar para llamar a métodos para realizar ciertas operaciones, mientras que los tipos primitivos no pueden.
- Un tipo primitivo siempre tiene un valor, mientras que los tipos no primitivos pueden ser
null
. - Un tipo primitivo comienza con una letra minúscula, mientras que los tipos no primitivos comienzan con una letra mayúscula.
- El tamaño de un tipo primitivo depende del tipo de datos, mientras que los tipos no primitivos tienen todos el mismo tamaño.
Ejemplos de tipos no primitivos son Strings , Arrays , Classes, Interface , etc. Aprenderá más sobre estos en un capítulo posterior.