📅  最后修改于: 2023-12-03 15:16:33.651000             🧑  作者: Mango
在Java中,可以使用System.out.printf()
方法对输出进行格式化,同时也可以通过System.out.format()
方法实现相同的效果。这两个方法在本质上是等价的,只是在语法上稍有不同。
out()
方法是System
类的一个静态成员,我们可以通过它来输出数据和字符串。它的一般形式如下:
System.out.print();
System.out.println();
System.out.printf();
System.out.format();
其中,print()
和println()
方法类似于C语言中的printf()
函数,可以向控制台输出文本和数据。print()
方法输出的内容不会自动换行,而println()
则会在输出完后自动换行。
printf()
和format()
方法用于进行格式化输出。这两个方法的参数相同,格式化字符串由普通文本和格式指示符组成。指示符由%
和字符组成,其中字符表示类型或者转换,可以控制输出的样式。
下面的示例介绍如何对字符串和数字进行格式化输出。
String name = "Java Programmer";
int age = 25;
System.out.printf("My name is %s and I am %d years old.\n", name, age);
输出:
My name is Java Programmer and I am 25 years old.
在这个示例中,我们使用了s
指示符来输出一个字符串,%d
指示符来输出一个整数。其中\n
字符用于换行。
int num = 1024;
double pi = Math.PI;
System.out.printf("Decimal: %d, Hex: %X\n", num, num);
System.out.printf("pi: %f, e: %e\n", pi, Math.E);
输出:
Decimal: 1024, Hex: 400
pi: 3.141593, e: 2.718282e+00
在这个示例中,我们使用%d
指示符输出一个整数,并使用%X
指示符输出一个以十六进制表示的整数。我们还使用%f
指示符输出一个浮点数,并使用%e
指示符输出一个科学计数法表示的浮点数。
System.out.printf("%-10s%-5s%s\n", "Language", "Year", "Designed By");
System.out.printf("%-10s%-5d%s\n", "Java", 1995, "James Gosling");
System.out.printf("%-10s%-5d%s\n", "C++", 1983, "Bjarne Stroustrup");
输出:
Language Year Designed By
Java 1995 James Gosling
C++ 1983 Bjarne Stroustrup
在这个示例中,我们使用%s
指示符输出一个字符串。我们可以使用%-10s
来指定输出的最小宽度为10个字符,并使用-
标志来表示左对齐。我们还可以使用printf()
方法的%n
指示符来插入一个换行符。
System.out.printf("%04d\n", 123);
System.out.printf("%,d\n", 1000000);
System.out.printf("%.2f\n", Math.PI);
输出:
0123
1,000,000
3.14
在这个示例中,我们使用%04d
指示符指定输出的最小宽度为4个字符,并使用0
标志来表示用零填充。我们还可以使用%,d
指示符来在整数部分添加千分位分隔符。最后,我们使用%.2f
指示符来指定输出浮点数时保留2位小数。