如果你熟悉C语言的printf,对上面的代码就不会陌生。第一个自变量是一个格式化字符串,它使用%表示如何对下面的一个自变量进行格式化;因此%d意思是把第一个自变量打印为数字;%s指把第二个自变量打印为字符串,%c指把第三个自变量打印成格式化的日期。由于Java SE 5支持可变自变量,所以你可以向printf提交任何数量的自变量;而且它的格式化字符串指示也比C语言灵活。例如,你可以通过引用自变量的目录来多次引用一个自变量:
System.out.printf("Get %d and %s on %tc, that’s %1$d%n",someInteger
%1$d部分很重要。如果%后面是自变量的数字目录,以$结尾,接着是格式化指示,它就从那个特殊的自变量取值。结尾处的%n生成一个换行符;如果你熟悉C语言,就知道用可插入一个新行,因为%n生成一个独立于平台的换行符,而不是。查看Sun的Java文件了解格式化指示的全部内容。它是在printf中唯一被调用的Formatter类,你也可以在自己的代码中使用。
可变自变量是Java 5的新功能,如果你发现代码中全是为提交自变量而建立的数组,就可以使用它。如:







