使用 Printf 格式化

JavaBeginner
立即练习

介绍

在本实验中,你将使用 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 中练习更多实验来提升你的技能。