System.out.printf()
Выводит строку по шаблону с подстановками %s, %d, %.2f.
Доступно с: Java 5
Синтаксис
public PrintStream printf(String format, Object... args)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| format | String | Шаблон с подстановками, как у String.format(). |
| args | Object... | Значения для подстановки. |
Возвращаемое значение
PrintStreamТот же поток System.out (обычно не используется).
Примеры
Перевод строки нужно добавить самому — %n:
void main() {
System.out.printf("%s has %d messages%n", "Anna", 5);
System.out.printf("%-6s|%5d|%n", "Oleg", 42);
}Результат:
Anna has 5 messages
Oleg | 42|Дробные числа с явной локалью — всегда с точкой:
void main() {
System.out.printf(Locale.ROOT, "Total: %.2f%n", 1234.5);
System.out.printf(Locale.ROOT, "Share: %.1f%%%n", 12.345);
}Результат:
Total: 1234.50
Share: 12.3%Примечания
printf() не переводит строку — без %n следующий вывод продолжит ту же строку. Шаблоны те же, что у String.format(). У IO метода printf() нет — там используют IO.println("...".formatted(...)).
См. также
- String.format() — Собирает строку по шаблону с подстановками вроде %s и %d.
- String.formatted() — Подставляет значения в саму строку как в шаблон — короткая форма String.format().
- System.out.println() — Классический способ вывода в консоль: печатает значение и переводит строку.
Вопросы и ответы по теме
В учебнике
- Текстовые блоки и форматирование — Многострочные текстовые блоки в Java, форматирование строк через formatted, String.format и printf, спецификаторы %s, %d, %f и ширина поля.