Метод printf
Метод printf класса PrintStream
выводит отформатированную строку в поток вывода.
Первым параметром метод принимает строку формата,
в которой могут находиться спецификаторы формата,
а далее - переменное число аргументов, которые
подставляются вместо этих спецификаторов.
Спецификатор начинается с символа %,
после которого идет тип форматирования:
%s для строк, %d для целых чисел,
%f для чисел с плавающей точкой,
%n для перевода строки.
Метод возвращает ссылку на этот же поток типа PrintStream,
что позволяет вызывать методы цепочкой.
Синтаксис
System.out.printf(format, [arg1, arg2, ...])
Пример
Давайте выведем строку, подставив в нее значение
переменной с помощью спецификатора %s:
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
System.out.printf("Value: %s%n", str);
}
}
Результат выполнения кода:
"Value: abcde"
Пример
Давайте выведем несколько значений разных типов в одной строке формата:
public class Main
{
public static void main(String[] args)
{
String name = "abcde";
int count = 5;
double price = 12.5;
System.out.printf("Name: %s, count: %d, price: %.2f%n", name, count, price);
}
}
Результат выполнения кода:
"Name: abcde, count: 5, price: 12.50"
Пример
Давайте выровняем числа по правому краю, указав ширину поля в спецификаторе:
public class Main
{
public static void main(String[] args)
{
System.out.printf("%5d%n", 1);
System.out.printf("%5d%n", 12);
System.out.printf("%5d%n", 123);
}
}
Результат выполнения кода:
" 1"
" 12"
" 123"