介绍
在本实验中,你将使用 Java 中的 printf() 方法。printf() 方法用于格式化并将字符串打印到控制台。该方法的一般语法如下:
在本实验中,你将使用 Java 中的 printf() 方法。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.
标志(Flags)用于为输出添加特殊功能。例如:
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
精度(Precision)用于限制小数位数。例如:
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
我们可以使用填充(Padding)在输出中添加空格或零。例如:
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
恭喜!你已经完成了「使用 Printf 格式化」实验。你可以在 LabEx 中练习更多实验来提升你的技能。