Introducción
En este laboratorio, utilizarás el método printf()
en Java. El método printf()
se utiliza para formatear e imprimir una cadena en la consola. La sintaxis general del método es:
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, utilizarás el método printf()
en Java. El método printf()
se utiliza para formatear e imprimir una cadena en la consola. La sintaxis general del método es:
Abre la terminal y crea un directorio de proyecto utilizando el siguiente comando:
mkdir project
Crea un nuevo archivo dentro del directorio del proyecto utilizando el siguiente comando:
touch project_formatting_printf.java
Para formatear enteros utilizando printf()
se utiliza el especificador de formato %d
. A continuación se muestra un ejemplo:
public static void main(String[] args) {
int num = 10;
System.out.printf("The number is: %d%n", num);
}
En el código anterior, %d
es el especificador de formato para enteros y %n
es el carácter de nueva línea.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 10
Para formatear números decimales, utiliza el especificador de formato %f
. Por ejemplo:
public static void main(String[] args) {
double num = 3.14159265359;
System.out.printf("The number is: %.2f%n", num);
}
En el código anterior, %.2f
es el especificador de formato para números decimales con 2 lugares decimales.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 3.14
Para formatear fechas, utilizamos t
como carácter de conversión y proporcionamos un especificador de formato. Por ejemplo:
public static void main(String[] args) {
Date date = new Date();
System.out.printf("Today is %tA, %<tB %<te, %<tY.%n", date);
}
En el código anterior, %tA
es el especificador de formato para el nombre completo del día y %<tB %<te, %<tY
es el especificador de formato para el mes, día y año. %n
es el carácter de nueva línea.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
Today is Friday, October 15, 2021.
Los indicadores (flags) se utilizan para agregar características especiales a la salida. Por ejemplo:
public static void main(String[] args) {
double num = 12345.6789;
System.out.printf("The number is: %,.2f%n", num);
}
En el código anterior, ,
es el separador de miles y %.2f
es el especificador de formato para números decimales con 2 lugares decimales.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 12,345.68
La precisión se utiliza para limitar el número de lugares decimales. Por ejemplo:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %.2f%n", num);
}
En el código anterior, %.2f
es el especificador de formato para números decimales con 2 lugares decimales.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 1234.57
Para imprimir la salida en mayúsculas, utilizamos la versión en mayúsculas del carácter de conversión. Por ejemplo:
public static void main(String[] args) {
String name = "John Doe";
System.out.printf("Name: %S%n", name);
}
En el código anterior, %S
es el especificador de formato para cadenas en mayúsculas.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
Name: JOHN DOE
Podemos utilizar relleno (padding) para agregar espacios o ceros a la salida. Por ejemplo:
public static void main(String[] args) {
int num = 123;
System.out.printf("The number is: %010d%n", num);
}
En el código anterior, %010d
es el especificador de formato para enteros de 10 dígitos y el carácter de relleno es 0.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 0000000123
Podemos combinar múltiples especificadores de formato para dar formato a la salida como deseemos. Por ejemplo:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %,010.2f%n", num);
}
En el código anterior, %010.2f
es el especificador de formato para números decimales con 2 lugares decimales, 10 dígitos y el carácter de relleno es 0. ,
es el separador de miles.
Compila y ejecuta el código utilizando los siguientes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Verás la siguiente salida:
The number is: 01,234.57
¡Felicidades! Has completado el laboratorio (lab) "Formatting With Printf". Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.