0Pricing
Java Academy · Урок

Основы 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 — локальная установка не требуется.

Все уроки этого курса

  1. Основы printf
  2. Форматы чисел и десятичных дробей
  3. String.format
  4. Выравнивание таблиц
← Назад к Java Academy