El método printf en Java es una de las opciones que no sabías que necesitabas, pero que pueden simplificar tu vida enormemente cuando la conoces. Si estás iniciando en el mundo tech del desarrollo de software con Java, queremos que desde el principio sepas sobre qué es printf en Java y cuáles son los usos que se le pueden dar a este método. ¡Vamos a ello!
¿Qué es printf en Java?
Printf en Java, junto a format, es una pequeña pero astuta incorporación que hizo Java a partir de su versión 5, la cual cual permite aplicar formatos específicos a una salida de datos en pantalla. Tanto printf como format cumplen la misma función, que es emular la impresión con formato printf() que ya tenía el lenguaje C.
Sabemos que puede ser un poco complejo al principio, pero, básicamente, el printf de Java es utilizado para imprimir texto con formato. La f en printf da el significado de formateado y nos permite especificar cómo deben mostrarse los datos, como la cantidad de decimales para un número o la alineación del texto. Es igual a cuando le das formato a un texto en cualquier procesador de texto, como Word.
La sintaxis general de printf es:
System.out.printf(String de formato, Object... datos);
En este caso:
- String de formato: es una cadena de caracteres que contiene texto fijo y especificadores de formato.
- datos: son los valores que se insertarán en la cadena de formato.
Especificadores de formato
Dentro de printf en Java, los especificadores de formato nos indican cómo deben ser formateados los diferentes tipos de datos en Java. La sintaxis va del siguiente modo:
%[posición_dato$][indicador_de_formato][ancho][.precision]carácter_de_conversión
Ejemplos
Veamos algunos ejemplos de aplicación para entender cómo usar printf
en Java.
Mostrar un número con decimales
Para mostrar el número 12.3698 de tipo double
con dos decimales:
System.out.printf("%.2f %n", 12.3698);
Salida:
12.37
Mostrar un número entero con signo
Para mostrar el número 10 con signo:
int x = 10;
System.out.printf("%+d %n", x);
Salida:
+10
Mostrar varias variables
Para mostrar varias variables en una sola línea:
double n = 1.25036;
int x = 10;
System.out.printf("n = %.2f x = %d %n", n, x);
Salida:
n = 1.25 x = 10
Formatear con ancho de campo
Mostrar el número 1.25036
en un ancho de campo de 10 caracteres:
double n = 1.25036;
System.out.printf("%+10.2f %n", n);
Salida:
+1.25
Rellenar con ceros
Para rellenar con ceros en lugar de espacios en blanco:
System.out.printf("%+010.2f %n", n);
Salida:
+000001.25
Alinear texto
Mostrar la cadena “Total:” con un ancho de 10 caracteres alineada a la izquierda:
System.out.printf("%-10s", "Total:");
Salida:
Total:
Mostrar la cadena “Total:” con un ancho de 10 caracteres alineada a la derecha:
System.out.printf("%10s", "Total:");
Salida:
Total:
Ejemplo completo
Veamos un ejemplo que incluya diversos usos de printf en Java, para constatar la diferencia entre cada uno:
public static void main(String[] args) {
double q = 1.0 / 3.0;
System.out.printf("1.0/3.0 = %5.3f %n", q);
System.out.printf("1.0/3.0 = %7.5f %n", q);
q = 1.0 / 2.0;
System.out.printf("1.0/2.0 = %09.3f %n", q);
q = 1000.0 / 3.0;
System.out.printf("1000/3.0 = %7.1e %n", q);
q = 3.0 / 4567.0;
System.out.printf("3.0/4567.0 = %7.3e %n", q);
System.out.printf("pi = %5.3f, e = %10.4f %n", Math.PI, Math.E);
double r = 1.1;
System.out.printf("C = 2 * %1$5.5f * %2$4.1f, A = %2$4.1f * %2$4.1f * %1$5.5f %n", Math.PI, r);
}
Salida:
1.0/3.0 = 0.333
1.0/3.0 = 0.33333
1.0/2.0 = 00000.500
1000/3.0 = 3.3e+02
3.0/4567.0 = 6.569e-04
pi = 3.142, e = 2.7183
C = 2 * 3.14159 * 1.1, A = 1.1 * 1.1 * 3.14159
Como pudiste observar, printf en Java es un gran método y bastante importante para dar formato a diferentes salidas de datos. En caso de que necesites mostrar números con un determinado número de caracteres, o que requieras alinear texto o formatear múltiples variables en una sola línea, deberías usar el printf, que le da ese toque fantástico a tu código.
Si te interesa seguir aprendiendo más sobre Java, te invitamos a unirte al Bootcamp de Java que Keepcoding ha preparado para ti, en donde con la ayuda de los mejores profesionales del sector, seguirás escalando hacia la cima del éxito en tu carrera profesional. ¡Anímate e inscríbete ahora!