Введение
В Java метод String.format() форматирует строку с использованием комбинации строки форматирования, локали и аргументов. Строка форматирования задает формат, в который аргументы должны быть преобразованы, а локаль задает любые настройки, которые должны быть использованы, такие как язык или регион. В этом практическом занятии мы узнаем больше о том, как использовать метод String.format() для форматирования строк.
Создание простого примера форматирования строк
В этом шаге мы создадим базовый пример использования метода String.format() для форматирования строки.
- Создайте новый Java-файл с именем
SimpleFormatExample.javaв каталоге~/project. - В методе
main()классаSimpleFormatExampleсоздайте переменную строки под названиемformattedStringи присвойте ей результат вызоваString.format()с такими аргументами:- Строку
"Hello, %s!"в качестве строки форматирования. - Строку
"world"в качестве аргумента.
- Строку
- Выведите значение
formattedStringс использованиемSystem.out.println(). - Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %s!", "world");
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
Hello, world!
Использование аргументов в строке форматирования
В этом шаге мы узнаем, как использовать аргументы в строке форматирования для настройки вывода.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените переменную
formattedString, чтобы использовать аргумент для количества символов для отображения. Замените"s"в строке форматирования на".%d-s"для указания максимального количества символов для отображения. - Добавьте целый аргумент после строки форматирования, чтобы представить максимальное количество символов для отображения.
- Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %d-s!", 5);
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
Hello, 5-s!
Использование флагов для изменения поведения форматирования
В этом шаге мы узнаем, как использовать флаги для изменения поведения строки форматирования.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы выровнять текст по левому краю, добавив знак минус (
-) после знака%. - Добавьте аргумент к строке форматирования, чтобы указать минимальную ширину вывода.
- Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("%-10s, world!", "Hello");
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
Hello , world!
Использование символов преобразования для форматирования различных типов данных
В этом шаге мы узнаем, как использовать различные символы преобразования для форматирования различных типов данных.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы включить вещественное число с использованием символа преобразования
%f. - Добавьте аргумент с вещественным числом после строки форматирования.
- Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %f", 3.14159265359);
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
The value of pi is approximately 3.141593
Использование модификаторов точности для контроля количества цифр
В этом шаге мы узнаем, как использовать модификаторы точности для управления количеством цифр, отображаемых в отформатированном выводе.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы включить вещественное число с использованием символа преобразования
%f. Добавьте модификатор точности (%.2f), чтобы отобразить только две цифры после десятичной точки. - Добавьте аргумент с вещественным числом после строки форматирования.
- Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %.2f", 3.14159265359);
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
The value of pi is approximately 3.14
Использование локалей для настройки параметров форматирования
В этом шаге мы узнаем, как использовать локали для настройки параметров форматирования, таких как язык или регион.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы включить число и использовать символ преобразования
%d. - Добавьте целый аргумент после строки форматирования.
- Добавьте второй аргумент в метод
String.format(), чтобы указать локаль для использования. Используйте константуLocale.FRENCH, чтобы указать французский язык. - Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
import java.util.Locale;
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format(Locale.FRENCH, "Le nombre est %d", 123456789);
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
Le nombre est 123456789
Форматирование значений дат и времени
В этом шаге мы узнаем, как использовать метод String.format() для форматирования значений дат и времени.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Добавьте инструкцию импорта для класса
java.util.Calendar, который мы будем использовать для создания экземпляра календаря. - Создайте новый экземпляр
Calendarс использованиемCalendar.getInstance(). - Измените строку форматирования, чтобы включить дату с использованием символа преобразования
%tD. - Добавьте аргумент
Dateпосле строки форматирования, используя методcalendar.getTime(), чтобы получить значениеDate. - Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
import java.util.Calendar;
import java.util.Date;
public class SimpleFormatExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
String formattedString = String.format("%tD", calendar.getTime());
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
08/22/21
Форматирование с использованием заглавных и строчных букв
В этом шаге мы узнаем, как использовать символы преобразования %S и %s для форматирования строк в верхнем и нижнем регистрах соответственно.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы включить строку с использованием символа преобразования
%Sдля форматирования строки в верхнем регистре. - Измените строку форматирования, чтобы включить вторую строку с использованием символа преобразования
%sдля форматирования строки в нижнем регистре. - Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The word %S is in uppercase and %s is in lowercase", "HELLO", "world");
System.out.println(formattedString);
}
}
При запуске кода вы должны увидеть следующий вывод:
The word HELLO is in uppercase and world is in lowercase
Обработка исключений
В этом шаге мы узнаем о исключениях, которые могут быть брошены при использовании метода String.format(), и о том, как их обрабатывать.
- Откройте файл
SimpleFormatExample.javaв редакторе. - Измените строку форматирования, чтобы включить символ с использованием символа преобразования
%c. - Добавьте аргумент с символом после строки форматирования.
- Сохраните и закройте файл
SimpleFormatExample.java. - В терминале скомпилируйте файл
SimpleFormatExample.java, выполнив следующую команду:javac SimpleFormatExample.java. - Затем запустите класс-файл с помощью команды
java SimpleFormatExample.
Вот модифицированный код:
public class SimpleFormatExample {
public static void main(String[] args) {
try {
String formattedString = String.format("The character is %c", "too long");
System.out.println(formattedString);
} catch (Exception e) {
System.out.println("An exception occurred: " + e.getMessage());
}
}
}
При запуске кода вы должны увидеть следующий вывод:
An exception occurred: UString.format: '%c'!= java.base/java.lang.String
Резюме
В этом практическом занятии мы узнали, как использовать метод String.format() для форматирования строк в Java. Начнем с создания простого примера, в котором использовалась строка форматирования и аргументы для генерации строки. Затем мы узнали, как использовать различные символы преобразования для форматирования строк, а также модификаторы точности и флаги для управления выводом. Мы также узнали, как использовать локали для настройки параметров форматирования и как форматировать значения дат и времени. Наконец, мы обсудили некоторые исключения, которые могут быть брошены при использовании метода String.format(), и как их обрабатывать.



