¿Qué es un literal en Java?
Un literal, valor literal o constante literal es el valor que le damos a una variable.
Literales según su tipo
1. Literales Booleanos (verdadero o falso)
Cuando hablamos de booleanos, nos referimos a un tipo de dato que solo puede tener dos valores posibles:
true
→ verdaderofalse
→ falso
Se usan para representar condiciones o estados que solo pueden ser sí o no, encendido o apagado, activo o inactivo, etc. Ejemplo:
boolean estaEncendido = true;
boolean tieneError = false;
En este caso:
true
es un literal booleano que indica queestaEncendido
está activado.false
es un literal booleano que indica quetieneError
es falso, o sea, no hay error.
2. Literales Enteros (números sin decimales)
Un literal entero es un número que se escribe sin decimales. Existen diferentes tipos de notación para los números enteros:
Decimal (lo normal, base 10)
- Es la forma que usamos todos los días.
- Solo números del 0 al 9.
int edad = 25; // Decimal
Octal (base 8)
- Se escribe empezando con un 0 (cero).
- Solo se usan los dígitos del 0 al 7.
int numeroOctal = 024; // Esto es octal y equivale a 20 en decimal
¡Cuidado! Si empiezas un número con 0, Java lo interpreta como octal, no como decimal.
Hexadecimal (base 16)
- Se escribe empezando con 0x o 0X.
- Usa dígitos del 0 al 9 y letras de la A a la F (o a-f), donde:
- A = 10
- B = 11
- …
- F = 15
int numeroHex = 0x14; // Esto es 20 en decimal
¿Y si el número es muy grande?
Por defecto, Java asume que los números enteros son del tipo int
(32 bits).
Pero si el número es muy grande y necesita más espacio, debes decirle a Java que es un long
(64 bits). Para eso, se agrega una L
o l
al final del número:
long poblacion = 8730000000L; // Correcto: con L
Se recomienda usar L mayúscula porque la l minúscula puede parecerse al número 1.
3. Reales (decimales o “en coma flotante”)
- Con punto decimal:
3.14
,.5
,0.75
- En notación científica:
1.5e2
=150.0
- Si quieres que sea tipo
float
, termina enf
oF
- Si es
double
(por defecto), puedes terminarlo end
oD
float pi = 3.14f;
double avogadro = 6.022137e+23d;
4. Carácter (char)
- Se escriben entre comillas simples:
'a'
,'Z'
,'ñ'
- También pueden representarse con su código Unicode:
- Octal:
'101'
(es ‘A’) - Hexadecimal:
'u0041'
(también es ‘A’)
- Octal:
5. Cadenas de texto (String)
- Van entre comillas dobles:
"Hola mundo"
String saludo = "Hola"; // Literal String
Secuencias de escape
A veces, cuando estás escribiendo texto (por ejemplo, en un String
), necesitas incluir un carácter que normalmente no se puede escribir directamente o que tiene un significado especial.
Para eso existen las secuencias de escape: combinaciones especiales que empiezan con una barra invertida () y que representan ciertos caracteres especiales o invisibles. Sirven para formatear el texto que se muestra en pantalla: agregar líneas nuevas, espacios, tabulaciones, comillas dentro del texto, etc.
Secuencia | Significado | Ejemplo en String | Resultado visible |
---|---|---|---|
n | Salto de línea (newline) | "HolanMundo" | Hola Mundo |
t | Tabulador (tab) | "Nombre:tJuan" | Nombre: Juan |
\ | Barra invertida | "Ruta: C:\Program Files" | Ruta: C:Program Files |
' | Comilla simple | "Ella dijo: 'Hola'" | Ella dijo: ‘Hola’ |
" | Comilla doble | "Él dijo: "Java es genial"" | Él dijo: “Java es genial” |
r | Retorno de carro (carriage return) | Poco usado hoy, depende del sistema | — |
b | Retroceso (backspace) | "ABCbD" | ABD (borra la C) |
f | Salto de página (form feed) | Antiguo, rara vez usado | — |
Ejemplo con secuencias de escape:
public class EjemploEscape {
public static void main(String[] args) {
System.out.println("Lista de tareas:nt1. Estudiar Javant2. Hacer ejercicio");
}
}
¿Qué hace este programa?
Este programa imprime una lista con viñetas (como una lista de tareas) usando secuencias de escape dentro del texto.
- “Lista de tareas:” se imprime en la primera línea.
- Luego
n
hace un salto de línea. - Después
t1. Estudiar Java
muestra el número 1 con una sangría (espacio al inicio). nt2. Hacer ejercicio
hace otro salto de línea y pone el número 2 también con sangría.
Salida final en consola:
Lista de tareas:
1. Estudiar Java
2. Hacer ejercicio
6. Literal null
El literal null
representa la ausencia de un objeto. Es decir, indica que una variable de tipo objeto no tiene ningún valor asignado todavía. No es 0
, no es una cadena vacía ""
, no es “nada”, ¡es simplemente que no hay objeto! Solo puede usarse con referencias a objetos (como String
, Integer
, ArrayList
, etc.), no con tipos primitivos como int
, double
, boolean
.
String nombre = null;
Aquí, nombre
es una variable de tipo String
(una cadena de texto), pero no le estamos asignando ningún valor de texto. En lugar de eso, le damos null
. Eso significa que por ahora nombre
no apunta a ninguna cadena. Está “vacía”, pero en el sentido de que no hay objeto alguno.