Основы printf
Форматируйте строки и аргументы
«Основы printf» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.
Зачем нужен printf?
Иногда System.out.println недостаточно. Может потребоваться выровнять числа, сократить дробную часть или вставить значения в предложение.
System.out.printf позволяет создать форматированную строку с помощью заполнителей. Это сокращение от выражения «вывести в форматированном виде».
Ваш первый printf
Вызов printf принимает строку формата и значения. Каждый заполнитель начинается с %.
Здесь %s означает «вставить сюда строку». Значение после запятой заполняет это место.
public class Main {
public static void main(String[] args) {
System.out.printf("Hello, %s!\n", "World");
}
}printf не добавляет перевод строки
В отличие от println, printf НЕ добавляет перевод строки автоматически. Если нужно переместить курсор на следующую строку, добавьте \n самостоятельно.
Если об этом забыть, два вывода объединятся в одну строку.
public class Main {
public static void main(String[] args) {
System.out.printf("A");
System.out.printf("B\n");
}
}Спецификатор %s
%s — это заполнитель для строки. Он работает с текстом и большинством объектов, которые Java автоматически преобразует в текст.
В одном вызове можно использовать несколько заполнителей %s. Значения сопоставляются слева направо.
public class Main {
public static void main(String[] args) {
System.out.printf("%s likes %s\n", "Ana", "Java");
}
}Спецификатор %d
%d форматирует целое число, например int или long. Буква d означает «десятичное целое число».
Передача дробного значения, например 3.5, в %d вызывает ошибку, поэтому используйте %d только для целых чисел.
public class Main {
public static void main(String[] args) {
int age = 25;
System.out.printf("Age: %d\n", age);
}
}Несколько заполнителей
Спецификаторы можно свободно сочетать. Каждый заполнитель получает следующий аргумент по порядку.
Ниже %s получает имя, а %d — результат.
public class Main {
public static void main(String[] args) {
System.out.printf("%s scored %d points\n", "Leo", 42);
}
}Порядок имеет значение
Аргументы заполняют заполнители в точном порядке их появления. Первое значение передаётся первому %, второе — второму и так далее.
Поменяйте значения местами — и смысл вывода изменится.
public class Main {
public static void main(String[] args) {
System.out.printf("%d before %d\n", 1, 2);
}
}Экранирование с помощью %%
Поскольку % начинает заполнитель, как вывести обычный знак процента? Используйте %%.
Одна последовательность %% в строке формата превращается в один символ % в выводе.
public class Main {
public static void main(String[] args) {
System.out.printf("%d%% done\n", 80);
}
}Распространённые управляющие последовательности
В строке формата можно использовать обычные управляющие последовательности: \n для перевода строки и \t для табуляции.
Они помогают аккуратно разделять значения или переходить на новые строки.
public class Main {
public static void main(String[] args) {
System.out.printf("Name:\tBob\nCity:\tRome\n");
}
}printf и println
println отлично подходит для быстрого вывода одного значения. printf особенно полезен, когда нужно точно управлять видом значений.
Практическое правило: выбирайте printf, когда нужны заполнители, выравнивание или управление дробной частью.
Несоответствие типов
Спецификатор должен соответствовать типу значения. Использование %d с текстом или %s там, где нужен числовой формат, может привести к ошибкам или неожиданному выводу.
Всегда используйте %s с текстом, а %d — с целыми числами.
Быстрая проверка
Проверьте свои базовые знания о printf.
Итоги
Вы изучили System.out.printf, заполнители %s и %d, экранирование %%, а также узнали, что printf самостоятельно не добавляет перевод строки.
Далее вы научитесь форматировать целые и дробные числа с заданной точностью.
Часто задаваемые вопросы
Урок «Основы printf» бесплатный?
Да — полный текст урока «Основы printf» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.
Чему я научусь в уроке «Основы printf»?
Форматируйте строки и аргументы Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Основы printf»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.