运行下面的程序,写出运行结果,解释每种格式的含义。
import java.util.Calendar;
public class CommandParameter {
public static void main(String[] args) {
long n = 461012;
System.out.printf("%d%n", n);
System.out.printf("%08d%n", n);
System.out.printf("%+8d%n", n);
System.out.printf("%,8d%n", n);
System.out.printf("%+,8d%n%n", n);
double pi = Math.PI;
System.out.printf("%f%n", pi);
System.out.printf("%.3f%n", pi);
System.out.printf("%10.3f%n", pi);
System.out.printf("%-10.3f%n", pi);
Calendar c = Calendar.getInstance();
System.out.printf("%tB %te, %tY%n", c, c, c);
System.out.printf("%tl:%tM %tp%n", c, c, c);
System.out.printf("%tD%n", c);
}
}
答:结果:
461012
00461012
+461012
461,012
+461,012
3.141593
3.142
3.142
3.142
七月 9, 2012
12:28 下午
07/09/12
分析:
"%d%n", n | 输出一个整形数;
|
"%08d%n", n | 输出一个八位数,若是此数没有八位,则将数字的最后一位放在第八位,然后再在之前补充若干个0,直至八位已满;
|
"%+8d%n", n | 输出一个八位数,若是没有八位,则将数字的最后一位放在第八位,然后再在之前补充一个加号;
|
"%,8d%n", n | 输出一个整形的数字,从后面向前数,每隔三位添加一个逗号;
|
"%+,8d%n%n", n | 输出一个八位数,若是没有八位,则将数字的最后一位放在第八位,然后再在之前补充一个加号,并且从后面向前数,每隔三位添加一个逗号;
|
"%f%n", pi | 输出一个实数;
|
"%.3f%n", pi | 输出一个实数,并且保留到小数点后面三位,若是该数字不够三位小数,则在小数位补充零;
|
"%10.3f%n", pi | 输出一个实数,并且保留到小数点后面三位,若是该数字不够三位小数,则在小数位补充零,另外,此数字要求整体有十位,其中包括了小数点,显示的时候是从右边开始;
|
"%-10.3f%n", pi | 输出一个实数,并且保留到小数点后面三位,若是该数字不够三位小数,则在小数位补充零,另外,此数字要求整体有十位,其中包括了小数点,显示的时候是从左边开始;
|
"%tB %te, %tY%n", c, c, c | 输出本地日期,%tB %te %tY分别表示月,日,年,其中月份是用汉字表示的;
|
"%tl:%tM %tp%n", c, c, c | 输出本地时间, %tl %tM %tp分别表示小时,分钟,上下午;
|
"%tD%n", c | 输出本地日期,形式是:月/日/年(全部都是数字格式);
|