Sei sulla pagina 1di 24

Tipos de datos de Java

Tipos de datos de Java


Como se explicó en el capítulo anterior, una variable en Java debe ser un tipo
de datos especificado:

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, booleanychar
 Tipos de datos no primitivos,
como cadenas , matrices y clases (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 valores variables,
y no tiene métodos adicionales.

Hay ocho tipos de datos primitivos en Java:


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, int y long. El tipo
que debe usar depende del valor numérico.

Los tipos de punto flotante representan números con una parte


fraccionaria, que contiene uno o más decimales. Hay dos tipos: floaty double.

Aunque hay muchos tipos numéricos en Java, los más utilizados para los
números son int(para números enteros) y double(para números de coma
flotante).

Tipos enteros
Byte
El bytetipo de datos puede almacenar números enteros de -128 a 127. Esto
puede usarse en lugar de intotros tipos enteros para ahorrar memoria
cuando esté seguro de que el valor estará dentro de -128 y 127:
Ejemplo
byte myNum = 100;

System.out.println(myNum);

Short
El shorttipo de datos puede almacenar números enteros de -32768 a 32767:

Ejemplo
short myNum = 5000;

System.out.println(myNum);

int
El inttipo de datos puede almacenar números enteros desde -2147483648
hasta 2147483647. En general, y en nuestro tutorial, el inttipo de datos es el
tipo de datos preferido cuando creamos variables con un valor numérico.

Ejemplo
int myNum = 100000;

System.out.println(myNum);

Long
El longtipo de datos puede almacenar números enteros desde -
9223372036854775808 hasta 9223372036854775807. Esto se usa cuando
int no es lo suficientemente grande como para almacenar el valor. Tenga en
cuenta que debe finalizar el valor con una "L":

Ejemplo
long myNum = 15000000000L;

System.out.println(myNum);

Tipos de punto flotante


Debe usar un tipo de coma flotante siempre que necesite un número con un
decimal, como 9.99 o 3.14515.

Float
El floattipo de datos puede almacenar números fraccionarios de 3.4e − 038 a
3.4e + 038. Tenga en cuenta que debe finalizar el valor con una "f":

Ejemplo
float myNum = 5.75f;

System.out.println(myNum);

Double
El doubletipo de datos puede almacenar números fraccionarios de 1.7e − 308
a 1.7e + 308. Tenga en cuenta que debe finalizar el valor con una "d":

Ejemplo
double myNum = 19.99d;

System.out.println(myNum);

Usar floato double?

La precisión de un valor de coma flotante indica cuántos dígitos puede tener


el valor después del punto decimal. La precisión floates de solo seis o siete
dígitos decimales, mientras que las doublevariables tienen una precisión de
aproximadamente 15 dígitos. Por lo tanto, es más seguro usarlo doublepara la
mayoría de los cálculos.

Números cientificos
Un número de coma 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);
Booleans
Un tipo de datos booleano se declara con la booleanpalabra clave y solo puede
tomar los valores trueo false:

Ejemplo
boolean isJavaFun = true;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

Los valores booleanos se usan principalmente para pruebas condicionales, de


las que aprenderá más en un capítulo posterior.

Caracteres
El chartipo de datos se usa para almacenar un solo carácter. El carácter debe
estar rodeado de 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 a = 65, b = 66, c = 67;

System.out.println(a);

System.out.println(b);

System.out.println(c);
Consejo: Puede encontrar una lista de todos los valores ASCII en
nuestra Referencia de tabla ASCII .

String
El Stringtipo de datos se usa 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 de cadena se usa e integra tanto 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.

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. El


programador crea los tipos no primitivos y Java no los define (a
excepción de String).
 Los tipos no primitivos se pueden usar para llamar a métodos para
realizar ciertas operaciones, mientras que los tipos primitivos no.
 Un tipo primitivo siempre tiene un valor, mientras que los tipos no
primitivos pueden serlo 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.
Casting en Java
La conversión de tipos es cuando asigna un valor de un tipo de datos
primitivo a otro tipo.

En Java, hay dos tipos de casting:

 Ampliación de fundición (automáticamente): conversión de un tipo


más pequeño a un tamaño más grande
byte-> short-> char-> int-> long-> float->double

 Fundición estrecha (manualmente): convierte un tipo más grande en


un tipo de tamaño más pequeño
double-> float-> long-> int-> char-> short->byte

Ampliación de fundición
La conversión de ampliación se realiza automáticamente al pasar un tipo de
tamaño más pequeño a un tipo de tamaño más grande:

Ejemplo
public class MyClass {

public static void main(String[] args) {

int myInt = 9;

double myDouble = myInt; // Automatic casting: int to double

System.out.println(myInt); // Outputs 9

System.out.println(myDouble); // Outputs 9.0

Estrechamiento estrecho
La conversión estrecha se debe realizar manualmente colocando el tipo entre
paréntesis delante del valor:

Ejemplo
public class MyClass {

public static void main(String[] args) {

double myDouble = 9.78;

int myInt = (int) myDouble; // Manual casting: double to int

System.out.println(myDouble); // Outputs 9.78

System.out.println(myInt); // Outputs 9

Operadores Java
Los operadores se utilizan para realizar operaciones en variables y valores.

En el siguiente ejemplo, usamos el + operador para sumar dos valores:

Ejemplo
int x = 100 + 50;

Aunque el +operador se usa a menudo para sumar dos valores, como en el


ejemplo anterior, también se puede usar para sumar una variable y un valor,
o una variable y otra variable:

Ejemplo
int sum1 = 100 + 50; // 150 (100 + 50)

int sum2 = sum1 + 250; // 400 (150 + 250)

int sum3 = sum2 + sum2; // 800 (400 + 400)

Java divide los operadores en los siguientes grupos:

 Operadores aritméticos
 Operadores de Asignación
 Operadores de comparación
 Operadores logicos
 Operadores bit a bit

Operadores aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas
comunes.

Operadores de asignación de Java


Los operadores de asignación se utilizan para asignar valores a las variables.

En el siguiente ejemplo, usamos el operador de asignación ( =) para asignar


el valor 10 a una variable llamada x :

Ejemplo
int x = 10;

El operador de asignación de+= suma ( ) agrega un valor a una variable:

Ejemplo
int x = 10;
x += 5;

Una lista de todos los operadores de asignación:

Operadores de comparación de Java


Los operadores de comparación se utilizan para comparar dos valores:
Operadores lógicos de Java
Los operadores lógicos se utilizan para determinar la lógica entre variables o
valores:

Java Strings
Las cadenas se utilizan para almacenar texto.

Una variable String contiene una colección de caracteres rodeados de


comillas dobles:

Ejemplo
Cree una variable de tipo String y asígnele un valor:

String greeting = "Hello";


Longitud de la cadena
Una cadena en Java es en realidad un objeto, que contiene métodos que
pueden realizar ciertas operaciones en cadenas. Por ejemplo, la longitud de
una cadena se puede encontrar con el length()método:

Ejemplo
String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

System.out.println("The length of the txt string is: " + txt.length());

Más métodos de cadena


Hay muchos métodos de cadena disponibles, por
ejemplo toUpperCase()y toLowerCase():

Ejemplo
String txt = "Hello World";

System.out.println(txt.toUpperCase()); // Outputs "HELLO WORLD"

System.out.println(txt.toLowerCase()); // Outputs "hello world"

Encontrar un caracter en una cadena


El método indexOf()devuelve el índice (la posición) de la primera aparición
de un texto especificado en una cadena (incluido el espacio en blanco):

Ejemplo
String txt = "Please locate where 'locate' occurs!";

System.out.println(txt.indexOf("locate")); // Outputs 7

Java cuenta las posiciones desde cero.


0 es la primera posición de una cadena, 1 es la segunda, 2 es la tercera ...
Concatenación de cadenas
El operador + se puede utilizar entre cadenas para combinarlas. Esto se
llama concatenación :

Ejemplo
String firstName = "John";

String lastName = "Doe";

System.out.println(firstName + " " + lastName);

Tenga en cuenta que hemos agregado un texto vacío ("") para crear un
espacio entre firstName y lastName en la impresión.

También puede usar el concat()método para concatenar dos cadenas:

Ejemplo
String firstName = "John ";

String lastName = "Doe";

System.out.println(firstName.concat(lastName));

Caracteres especiales
Debido a que las cadenas deben escribirse entre comillas, Java entenderá
mal esta cadena y generará un error:

String txt = "We are the so-called "Vikings" from the north.";

La solución para evitar este problema es utilizar el carácter de escape de


barra diagonal inversa .

El \carácter de escape con barra diagonal inversa ( ) convierte caracteres


especiales en caracteres de cadena:
La secuencia \" inserta una comilla doble en una cadena:

Ejemplo
String txt = "We are the so-called \"Vikings\" from the north.";

La secuencia \' inserta una comilla simple en una cadena:

Ejemplo
String txt = "It\'s alright.";

La secuencia \\ inserta una barra invertida en una cadena:

Ejemplo
String txt = "The character \\ is called backslash.";

Otras seis secuencias de escape son válidas en Java:

Agregar números y cadenas


¡ADVERTENCIA!

Java usa el operador + tanto para la suma como para la concatenación.

Se agregan los números. Las cadenas están concatenadas.

Si agrega dos números, el resultado será un número:

Ejemplo
int x = 10;

int y = 20;

int z = x + y; // z will be 30 (an integer/number)

Si agrega dos cadenas, el resultado será una concatenación de cadenas:

Ejemplo
String x = "10";

String y = "20";

String z = x + y; // z will be 1020 (a String)

Si agrega un número y una cadena, el resultado será una concatenación de


cadenas:

Ejemplo
String x = "10";

int y = 20;

String z = x + y; // z will be 1020 (a String)

Java Math
La clase de Matemáticas Java tiene muchos métodos que le permiten
realizar tareas matemáticas en números.

Math.max ( x, y )
El método se puede usar para encontrar el valor más alto
de x e y :Math.max(x,y)
Ejemplo
Math.max(5, 10);

Math.min ( x, y )
El método se puede usar para encontrar el valor más bajo
de x e y :Math.min(x,y)

Ejemplo
Math.min(5, 10);

Math.sqrt ( x )
El método devuelve la raíz cuadrada de x :Math.sqrt(x)

Ejemplo
Math.sqrt(64);

Math.abs ( x )
El método devuelve el valor absoluto (positivo) de x :Math.abs(x)

Ejemplo
Math.abs(-4.7);

Math.random ()
Math.random() devuelve un número aleatorio entre 0 (inclusive) y 1
(exclusivo):

Ejemplo
Math.random();

Java Booleans
Muy a menudo, en la programación, necesitará un tipo de datos que solo
puede tener uno de dos valores, como:

 YES / NO

 ON / OFF
 TRUE / FALSE

Para esto, Java tiene un tipo de dato boolean que puede tomar los valores
true or false.

Valores booleanos
Un tipo booleano se declara con la booleanpalabra clave y solo puede tomar
los valores trueo false:

Ejemplo
boolean isJavaFun = true;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

in embargo, es más común devolver valores booleanos de expresiones


booleanas, para pruebas condicionales (ver más abajo).

Expresión booleana
Una expresión booleana es una expresión de Java que devuelve un valor
booleano: trueo false.

Puede usar un operador de comparación, como el operador mayor que ( >)


para averiguar si una expresión (o una variable) es verdadera:

Ejemplo
int x = 10;

int y = 9;
System.out.println(x > y); // returns true, because 10 is higher than 9

O incluso más fácil:

Ejemplo
System.out.println(10 > 9); // returns true, because 10 is higher than
9

En los ejemplos a continuación, usamos el operador igual a ( ==) para


evaluar una expresión:

Ejemplo
int x = 10;

System.out.println(x == 10); // returns true, because the value of x is


equal to 10

Ejemplo
System.out.println(10 == 15); // returns false, because 10 is not equal
to 15

Condiciones Java y declaraciones If


Java admite las condiciones lógicas habituales de las matemáticas:

 Menos de: a <b


 Menor o igual que: a <= b
 Mayor que: a> b
 Mayor o igual que: a> = b
 Igual a a == b
 No es igual a: a! = B

Puede usar estas condiciones para realizar diferentes acciones para


diferentes decisiones.

Java tiene las siguientes declaraciones condicionales:

 Se usa ifpara especificar un bloque de código que se ejecutará, si una


condición especificada es verdadera
 Use elsepara especificar un bloque de código que se ejecutará, si la
misma condición es falsa
 Use else ifpara especificar una nueva condición para probar, si la
primera condición es falsa
 Se usa switchpara especificar muchos bloques de código alternativos
que se ejecutarán

La declaración if
Use la ifinstrucción para especificar un bloque de código Java que se
ejecutará si una condición es true.

Sintaxis
if (condition) {

// block of code to be executed if the condition is true

Tenga if en cuenta que está en letras minúsculas. Las letras mayúsculas (If
o IF) generarán un error.

En el siguiente ejemplo, probamos dos valores para determinar si 20 es


mayor que 18. Si la condición es true, imprima un texto:

Ejemplo
if (20 > 18) {
System.out.println("20 is greater than 18");
}

También podemos probar variables:

Ejemplo
int x = 20;
int y = 18;
if (x > y) {
System.out.println("x is greater than y");
}

Ejemplo explicado

En el ejemplo anterior, usamos dos variables, x e y , para probar si x es


mayor que y (usando el >operador). Como x es 20 e y es 18, y sabemos que
20 es mayor que 18, imprimimos en la pantalla que "x es mayor que y".
La otra declaración
Use lainstruccion else para especificar un bloque de código que se ejecutará
si la condición es false.

Sintaxis
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}

Ejemplo
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."

Ejemplo explicado

En el ejemplo anterior, el tiempo (20) es mayor que 18, por lo que la


condición es false. Debido a esto, pasamos a la elsecondición e imprimimos
en la pantalla "Buenas noches". Si el tiempo fuera inferior a 18, el programa
imprimiría "Buen día".

La otra si la declaración
Use la else ifinstrucción para especificar una nueva condición si la primera
es false.

Sintaxis
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and
condition2 is true
} else {
// block of code to be executed if the condition1 is false and
condition2 is false
}

Ejemplo
int time = 22;
if (time < 10) {
System.out.println("Good morning.");
} else if (time < 20) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."

Ejecutar ejemplo »

Ejemplo explicado

En el ejemplo anterior, el tiempo (22) es mayor que 10, por lo que


la primera condición es false. La siguiente condición, en la else
ifdeclaración, también es false, así que pasamos a la else condición ya que
la condición1 y la condición2 son ambas false, e imprimimos en la pantalla
"Buenas noches".

Sin embargo, si el tiempo fuera 14, nuestro programa imprimiría "Buen día".

Short Hand If ... Else (Operador ternario)


También hay una abreviatura, si no, que se conoce como operador
ternario porque consta de tres operandos. Se puede usar para reemplazar
varias líneas de código con una sola línea. A menudo se usa para reemplazar
declaraciones simples si no:

Sintaxis
variable = (condition) ? expressionTrue : expressionFalse;

En lugar de escribir:

Ejemplo
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}

Ejecutar ejemplo »

Simplemente puedes escribir:

Ejemplo
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);

Switch en Java
Use la instrucción switch para seleccionar uno de los muchos bloques de
código que se ejecutarán.

Sintaxis
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}

Así es como funciona:

 La switchexpresión se evalúa una vez.


 El valor de la expresión se compara con los valores de cada uno case.
 Si hay una coincidencia, se ejecuta el bloque de código asociado.
 Las palabras clave breaky defaultson opcionales y se describirán más
adelante en este capítulo.

El siguiente ejemplo usa el número del día de la semana para calcular el


nombre del día de la semana:
Ejemplo
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// Outputs "Thursday" (day 4)

Ejecutar ejemplo »

El break
Cuando Java alcanza una palabra clave break , se escapa del bloque de
interruptores.

Esto detendrá la ejecución de más código y pruebas de casos dentro del


bloque.

Cuando se encuentra una coincidencia, y el trabajo está hecho, es hora de un


descanso. No hay necesidad de más pruebas.

Una interrupción puede ahorrar mucho tiempo de ejecución porque "ignora"


la ejecución de todo el resto del código en el bloque de conmutadores.
La palabra clave default
La palabra clave default especifica algún código para ejecutar si no hay
coincidencia de mayúsculas y minúsculas:

Ejemplo
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
System.out.println("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"

Potrebbero piacerti anche