printf格式化输出

转换符说明:

%s                   字符串类型
%c                   字符类型
%b                   布尔类型
%d                   整数类型(十进制)
%x                   整数类型(十六进制)
%o                   整数类型(八进制)
%f                    浮点类型
%a                   十六进制浮点类型
%e                   指数类型
%g                   通用浮点类型(f和e类型中较短的)
%h                   散列码
%%                  百分比类型
%n                   换行符
%tx                  日期与时间类型(x代表不同的日期与时间转换符

实例

System.out.printf("字符串类型: %s %s %s %n", "周杰伦", "林俊杰", "张学友");
System.out.printf("字符类型: %c 只能输入一个字符  %n", 'a');
System.out.printf("布尔类型: %b %n", true);
System.out.printf("整数类型(十进制): %d %n", 10);
System.out.printf("整数类型(十六进制): %x %n", 10);
System.out.printf("整数类型(八进制): %o %n", 10);
System.out.printf("浮点类型: %f %n", 10.0);
System.out.printf("十六进制浮点类型: %a %n", 10.0);
System.out.printf("指数类型: %e %n", 10.0);
System.out.printf("通用浮点类型(f和e类型中较短的): %g %n", 10.0);
System.out.printf("散列码: %h %n", 10.0);
System.out.printf("百分比类型: %d%% %n", 10);

输出结果:

字符串类型: 周杰伦 林俊杰 张学友 
字符类型: a 只能输入一个字符  
布尔类型: true 
整数类型(十进制): 10 
整数类型(十六进制): a 
整数类型(八进制): 12 
浮点类型: 10.000000 
十六进制浮点类型: 0x1.4p3 
指数类型: 1.000000e+01 
通用浮点类型(f和e类型中较短的): 10.0000 
散列码: 40240000 
百分比类型: 10% 

搭配转换符的标志

+                       为正数或者负数添加符号
0                       数字面前补0
空格                  在整数之前添加指定数量的空格
,                       “,”对数字分组
                      负数括在括号内
#                       如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0
<                       格式化前一个转换符所描述的参数
$                       被格式化的参数索引

System.out.printf("\"+\": %+d %n",10);
System.out.printf("\"0\": %04d %n",10);
System.out.printf("\"空格\" % 4d %n",10);
System.out.printf("\",\": %,f %n",1000000.0);
System.out.printf("\"(\": %(f %n",-100.00);
System.out.printf("\"#\": %#x %n",10);
System.out.printf("\"<\": %f%<1.2f %n",10.223);
System.out.printf("\"$\": %1$d %2$s %n",13,"a");

输出结果:

"+": +10 
"0": 0010 
"空格"   10 
",": 1,000,000.000000 
"(": (100.000000) 
"#": 0xa 
"<": 10.22300010.22 
"$": 13 a 

日期和事件字符串格式化

c                       包括全部日期和时间信息
F                     “年-月-日”格式
D                    “月/日/年”格式
r                     “HH:MM:SS PM”格式(12时制)
T                    “HH:MM:SS”格式(24时制)
R                    “HH:MM”格式(24时制)

Date date = new Date();
System.out.printf("%tc %n", date);
System.out.printf("%tF %n", date);
System.out.printf("%tD %n", date);
System.out.printf("%tT %n", date);
System.out.printf("%tR %n", date);
System.out.printf("%tF %tT %n",date,date);

输出结果:

星期日 十二月 17 16:15:39 CST 2017 
2017-12-17 
12/17/17 
16:15:39 
16:15 
2017-12-17 16:15:39 

猜你喜欢

转载自blog.csdn.net/qq_39981500/article/details/78824920