0Pricing
Java Academy · Lección

String.format

Cree cadenas con formato

String.format es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.

Dar formato sin imprimir

printf envía el texto directamente a la consola. Pero a veces necesita el texto con formato como un String para almacenarlo, devolverlo o reutilizarlo.

String.format hace exactamente eso: aplica las mismas reglas, pero devuelve un valor en lugar de imprimirlo.

Su primer String.format

String.format usa los mismos marcadores de posición que printf. Crea un String nuevo y se lo devuelve.

Aquí el resultado se almacena en msg y después se imprime.

public class Main {
    public static void main(String[] args) {
        String msg = String.format("Hello, %s!", "World");
        System.out.println(msg);
    }
}

Los mismos especificadores

Todo lo que ha aprendido se aplica: %d, %f, %.2f, los anchos y las banderas funcionan también en String.format.

La única diferencia es que el resultado se devuelve en lugar de mostrarse.

public class Main {
    public static void main(String[] args) {
        String s = String.format("%s: %.2f", "Price", 9.5);
        System.out.println(s);
    }
}

Almacenar el resultado

Como devuelve un String, puede guardarlo en una variable, concatenarlo o pasarlo a otro método.

Esto resulta útil para construir mensajes paso a paso.

public class Main {
    public static void main(String[] args) {
        String label = String.format("#%03d", 7);
        System.out.println("ID " + label);
    }
}

Devolver texto con formato

Un método puede usar String.format para devolver un String ordenado. Así, la lógica de formato queda centralizada.

Debajo, greet devuelve el saludo con formato.

public class Main {
    static String greet(String name) {
        return String.format("Welcome, %s!", name);
    }
    public static void main(String[] args) {
        System.out.println(greet("Mia"));
    }
}

Sin salto de línea automático

Al igual que printf, String.format no añade un salto de línea a menos que escriba \n en la cadena de formato.

Si imprime el resultado con println, este añade el salto de línea por usted.

public class Main {
    public static void main(String[] args) {
        String s = String.format("Line one");
        System.out.println(s);
    }
}

Varios valores

Puede pasar tantos argumentos como marcadores de posición haya. Estos ocupan las posiciones de izquierda a derecha, igual que en printf.

Esto facilita construir una fila de datos como un único String.

public class Main {
    public static void main(String[] args) {
        String row = String.format("%s | %d | %.1f", "Tea", 3, 2.5);
        System.out.println(row);
    }
}

Reutilizar un formato

Como la cadena de formato es simplemente texto, puede aplicarla varias veces con un bucle para producir Strings coherentes.

Cada llamada devuelve un String nuevo con valores nuevos.

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            System.out.println(String.format("Item %d", i));
        }
    }
}

printf usa format internamente

Internamente, System.out.printf(fmt, args) se comporta como imprimir String.format(fmt, args).

Por tanto, elegir entre ambos depende realmente de si quiere imprimir ahora o conservar el texto para después.

Crear registros y etiquetas

String.format resulta práctico para líneas de registro, etiquetas de interfaz y nombres de archivo en los que necesita un patrón preciso.

Centralizar el formato significa que un solo cambio actualiza todos los mensajes.

public class Main {
    public static void main(String[] args) {
        int code = 404;
        String log = String.format("[ERROR %d] not found", code);
        System.out.println(log);
    }
}

Se aplican las mismas reglas de tipos

Las reglas de correspondencia entre especificadores y valores son idénticas: %d necesita un número entero, %f necesita un valor de coma flotante y una incompatibilidad lanza una excepción en tiempo de ejecución.

Compruebe las correspondencias antes de ejecutar el programa.

Comprobación rápida

¿En qué se diferencia String.format de printf?

Resumen

String.format comparte las reglas de printf, pero devuelve un String que puede almacenar, devolver o reutilizar.

A continuación combinará anchos y alineación para crear tablas ordenadas.

Preguntas frecuentes

¿La lección «String.format» es gratis?

Sí — el texto completo de «String.format» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.

¿Qué aprenderé en «String.format»?

Cree cadenas con formato Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «String.format»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de printf
  2. Formatos numéricos y decimales
  3. String.format
  4. Alineación de tablas
← Volver a Java Academy