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