printf主要继承了c语言的printf的特性,可以进行格式输出
print是常见的标准输出,但不换行
println和print几乎没有区别。 最后换行
system.out.printf (' the number is : d ',t );
请参阅定义JAVA API。
' d '整数结果将格式化为十进制整数
“o”整数结果将格式化为八进制整数
' x ',' x '整数的结果将格式化为十六进制整数
“e”和“e”浮点结果将格式化为计算机科学数学表示的十进制数字
' f '浮点结果将格式化为十进制
“g”,“g”浮点根据精度和舍入运算后的值将结果格式化为计算机科学符号或十进制格式。
“a”和“a”浮点数的结果将格式化为具有有效位数和指数的十六进制浮点数
println('test '相当于print ',' testn '是常见的输出字符串
打印打印打印ln 打印
print在命令窗口中显示其参数,并将输出光标置于显示的最后一个字符之后。
println在命令窗口中显示其参数,最后添加换行符,并将输出光标置于下一行的开头。
printf是格式化输出的格式。
举个例子:
打包工具;
公共类测试打印{
publicstaticvoidmain (字符串[ ] args ) {
int i=4;
双面j=5;
system.out.print (用打印输出i:' i ) I );
system.out.println (用println输出i:' i ) I );
system.out.printf('I的值为%d,j的值为%f ',I,j );
}
}
执行结果是
用于print输出i:4的println输出i:4
的值为4,j的值为5.000000
在print中输出I后,没有换行,在println中输出的结果直接位于print输出语句的后面,而在输出println后换行,因此在以printf输出时,在第2行
输出。
让我们再看看printf
字符串“I的值为%d,j的值为%f”中的“%d”现在是I的值,“%f”现在是j的值。
其中“%d”表示int值的占位符,“%f”是双精度或浮点值的点符号,稍后将提供此变量的参数。 请注意,实参名称必须按顺序排列。 不然就错了。 而且类型也必须一致。 如果我们把句子
system.out.printf('I的值为%d,j的值为%f ',j,I ); //i和j的位置颠倒了
此时,与“%d”对应的参数为j,与“%f”对应的参数为I,与j为double,“%d”为int形式不一致,因此错误。 所以错了。
另外,“%s”的意思是字符串值的点符号。 “%c”是字符值的磅符号的意思。
读者可能会问为什么j输出变成了5.000000。 那是因为double默认情况下有六位小数(这可能与系统计算机有关,但也可能不是六位),但请考虑一下
输出两位小数就可以了吗? 没关系! 改句子就行了!
system.out.printf(I的值为%d,j的值为%.2f ),I,j );
这里的“%.2f”意味着输出两位小数点。 如果想输出3位,请输入“%.3f”。
说到这里,你会发现本来printf也很有用。 这样可以控制输出的格式。
再学一点知识吧。 将代码更改如下。
公共类测试打印{
publicstaticvoidmain (字符串[ ] args ) {
int i=4;
双精度j=5.000 f;
system.out.printf(I的值为)、(n )、I );
system.out.printf('I的值为=,j的值为%.2f ',I,j );
}
}
执行结果如下。
I的值为4,
I的值为4,j的值为5.00
原本在“%”和“d”之间加上个数5意味着输出5个占位符。 默认右对齐。 这样的输出非常有用。 例如,如果要输出表,由于每个数量的大小不同,可能有5位,也可能有4位。 这样做的话,输出的表的结果不一致。 输出结果全部为相同的占位符数时。 那样的话我会排队的。 呵呵。
“%d”可以这样做,其他也可以。 读者请不要预防。 有很多收获。
让我们更改代码:
公共类测试打印{
publicstaticvoidmain (字符串[ ] args ) {
int i=4;
双精度j=5.000 f;
system.out.printf(I的值为d,n ',I );
}
}
执行结果如下。
I的值为00004,
哈哈,原本“d”的意思是输出5个占位符,如果数字小于5,左边用0来补充