它们之间的主要区别在于 printf() 将格式化的字符串打印到控制台,就像 System. 出去。println() 但是 format() 方法返回一个格式化的字符串,你可以存储或使用你想要的方式。
另一个区别是一个在java.lang.String
class 中声明,另一个在 on java.io.PrintStream
。如果需要格式化字符串,则应使用String.format()
方法,如果需要System.out.printf()
在控制台上显示格式化字符串,则应使用。
让我们了解两个要学习的关键内容,首先,您可以使用其中之一printf()
或format()
格式化字符串。它们之间的主要区别在于 printf() 将格式化的字符串打印到控制台很像,System.out.println()
但该format()
方法返回格式化的字符串,您可以存储或使用您想要的方式。
在 Java 中格式化字符串需要学习的第二个最重要的事情是格式化指令%s, %d, %n
等。整个格式化过程基于你给出的指令进行。
// formatting String with dynamic String and Integer input
System.out.printf("length of String %s is %d %n", "abcd", "abcd".length());
这将打印“字符串 abcd 的长度为 4”,您可以看到“abcd”和“4”根据您传递的格式化指令和值动态附加到给定的字符串中。
// re-ordering output using explicit argument indices
System.out.printf("%3$2s, %2$2s, %1$2s %n", "Tokyo", "London", "NewYork" );
这将打印“NewYork, London, Tokyo”,您可以看到,即使您将 Tokyo 作为第一个参数传递,它最后出现在格式化字符串中,因为我们使用显式参数索引重新排序了输出。
// formatting Date to String using %D flag, %D is for MM/dd/yy format
System.out.printf("Date in MM/dd/yy format is %tD %n", new Date());
此示例将打印“日期MM/dd/yy
格式为12/07/16"
,您可以看到今天的日期MM/dd/yy
格式很好。这可能是在 Java 中将日期格式化为字符串的最简单方法,它不需要您创建SimpleDateFormat
对象并处理自己格式化日期。