类似于C语言中的 printf(“data: [%d %f] \n”,x, y);
1.System.out.format();
例如:int x = 1;
double y = 3.1415926;
System.out.format("data: [%d %f]\n", x, y);
输出:data: [1 3.141593]
2.formatter类
format字符串的格式化参数语法如下:
%[argument_index$][flags][width][.precision]conversion
argument_index$:argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
flags:可选 flags 是修改输出格式的字符集。有效标志集取决于转换类型。
width:控制一个域的最小值,默认情况下下是右对齐的,可以通过使用“-”标志来改变对其方向。
precision:精度,用于String时,表示输出字符的最大数量,用于浮点数时,表示小数部分要显示出来的 位数(默认是6位),多则舍入,少则补0,用于整数会触发异常。
conversion:转换格式,可选的格式有:
d 整数型(十进制)
c Unicode字符
b Boolean值
s String
f 浮点数(十进制)
e 浮点数(科学计数)
x 整数(十六进制)
h 散列码
% 字符串“%”
3. String.format();
String.format()的内部,也是创建了一个Formatter对象,然后将你传入的参数转给该Formatter。是一个static方法,接受的参数和Formatter.format()一样,但是返回了一个String对象,如果你只需要使用format()方法一次时,String.format()方法使用起来很方便。
String formatStr = String.format("%#4X", 12);
System.out.println(formatStr);