Введение
В этом лабораторном занятии вы будете использовать метод printf() в Java. Метод printf() используется для форматирования и вывода строки в консоль. Общий синтаксис метода выглядит следующим образом:
Настройка директории проекта
Откройте терминал и создайте директорию проекта с помощью команды:
mkdir project
Создайте новый файл внутри директории проекта с помощью команды:
touch project_formatting_printf.java
Форматирование целых чисел
Для форматирования целых чисел с использованием printf() мы используем спецификатор формата %d. Ниже приведен пример:
public static void main(String[] args) {
int num = 10;
System.out.printf("The number is: %d%n", num);
}
В приведенном выше коде %d - это спецификатор формата для целых чисел, а %n - это символ новой строки.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 10
Форматирование десятичных чисел
Для форматирования десятичных чисел используйте спецификатор формата %f. Например:
public static void main(String[] args) {
double num = 3.14159265359;
System.out.printf("The number is: %.2f%n", num);
}
В приведенном выше коде %.2f - это спецификатор формата для десятичных чисел с двумя знаками после запятой.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 3.14
Форматирование дат
Для форматирования дат мы используем t в качестве символа преобразования и задаем спецификатор формата. Например:
public static void main(String[] args) {
Date date = new Date();
System.out.printf("Today is %tA, %<tB %<te, %<tY.%n", date);
}
В приведенном выше коде %tA - это спецификатор формата для полного названия дня недели, а %<tB %<te, %<tY - это спецификатор формата для месяца, дня и года. %n - это символ новой строки.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
Today is Friday, October 15, 2021.
Использование флагов
Флаги используются для добавления специальных характеристик к выводу. Например:
public static void main(String[] args) {
double num = 12345.6789;
System.out.printf("The number is: %,.2f%n", num);
}
В приведенном выше коде , - это разделитель тысяч, а %.2f - это спецификатор формата для десятичных чисел с двумя знаками после запятой.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 12,345.68
Использование точности
Точность используется для ограничения количества знаков после запятой. Например:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %.2f%n", num);
}
В приведенном выше коде %.2f - это спецификатор формата для десятичных чисел с двумя знаками после запятой.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 1234.57
Использование заглавных букв
Для вывода текста в верхнем регистре мы используем заглавный символ преобразования. Например:
public static void main(String[] args) {
String name = "John Doe";
System.out.printf("Name: %S%n", name);
}
В приведенном выше коде %S - это спецификатор формата для строк в верхнем регистре.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
Name: JOHN DOE
Использование заполнения
Мы можем использовать заполнитель для добавления пробелов или нулей к выводу. Например:
public static void main(String[] args) {
int num = 123;
System.out.printf("The number is: %010d%n", num);
}
В приведенном выше коде %010d - это спецификатор формата для целых чисел с 10 цифрами, а символ заполнителя - 0.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 0000000123
Комбинирование спецификаторов формата
Мы можем комбинировать несколько спецификаторов формата, чтобы отформатировать вывод по нашему усмотрению. Например:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %,010.2f%n", num);
}
В приведенном выше коде %010.2f - это спецификатор формата для десятичных чисел с двумя знаками после запятой, 10 цифрами, и символом заполнения 0. , - это разделитель тысяч.
Скомпилируйте и запустите код с помощью следующих команд:
javac project_formatting_printf.java
java project_formatting_printf
Вы увидите следующий вывод:
The number is: 01,234.57
Резюме
Поздравляем! Вы завершили лабораторную работу "Formatting With Printf". Вы можете попрактиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.



