刚学完Java输出没多久,因为大一学过C语言,所以对比了一下,还是发现了很多的不同
学过C语言的小伙伴们应该知道,一个printf语句如何使用,但是我们通常的使用方法就是直接以某种格式化输出,例如"%c","%d","%f"等等…
不过你们知道这个双引号中能装多少东西吗?
翻了一翻大一的C语言教材,找到了这样一行字。
在C语言中printf函数的转换说明的一般形式为:
%[标志][输出最小域宽][.精度][长度]转换字符
找到了一位大佬解释的C语言格式化输出,讲的很详细感兴趣的可以看看
https://blog.csdn.net/perfectguyipeng/article/details/77807012
然后就是Java的格式化输出
%[arguments_index$][flags][field width][.precision]conversion
注意这里的字段宽度(field width)包含小数点,比如说这里以%8.2f的格式打印输出x变量,前面会补两个空格,总共的字符数为8个。
public class test{
public static void main(String[] args){
double x = 333.33;
System.out.printf("%8.2f\n", x);
}
}
对比这两个格式化输出,Java和C语言还是有些许的不同的,尤其是这个第一个参数,[arguments_index$],这种绝对参数的索引可以大大的提高数据的可重用性。具体的用法csdn上有很多相关的文章了,我就不在这里一一赘述了。
欢迎各路大神来纠正评论文章