在学校里,我没有机会学习任何严肃的低级编程课程。(我知道我真的应该开始学习“幕后”知识以成为一个更好的程序员。)我很欣赏Java的便利性,包括将任何东西放入System.out.print
语句的能力。但是,是否有任何理由想要使用System.out.printf
呢?
此外,在“真正的应用程序”中,我应该避免像这样的打印调用吗?最好使用某种UI函数将消息打印到客户端的显示器上,对吧?
PrintStream类的printf方法提供类似于C语言中的printf
函数的字符串格式化。
printf
的格式使用Formatter
类的格式语法。
当在一行中显示多个变量并使用字符串连接会很麻烦时,printf
方法可以特别有用:
int a = 10;
int b = 20;
// Tedious string concatenation.
System.out.println("a: " + a + " b: " + b);
// Output using string formatting.
System.out.printf("a: %d b: %d\n", a, b);
print
、println
、printf
和其他函数来输出到System.out
。如果您需要控制浮点数的精度、填充等,最好使用其他方法。System.out.print可以打印各种内容,但无法对精度和填充进行细粒度控制。
在大多数实际程序中,都会使用日志记录。通过日志配置,可以打开/关闭调试消息。以log4j为例。