java控制台输出print和println详解
在使用java编程的过程中,控制台输出用得不少,今天我想梳理一下,print、println二者的区别。
一、print
通过System.out.print方法调用,print方法的参数有很多种:boolean、char、char[]、String、int、float、double、long等。
print的输出末尾不换行。
1、print(boolean b)
打印boolean类型时,输出只有true和false两种。我们查看print(boolean b)的源代码,可以看到:
当b为true时输出true,为false输出false。这很直观,没什么可说的。
2、print(char c)
打印单个字符,如果是具有特殊含义的转义字符,则显示出该转义字符的效果。看看实例就知道了:
输出为:前面空了一行,这是换行的效果,然后b和d之间隔了一个Tab。
3、print(char[] buf)
这个方法即把buf数组里的字符一个个打印出来。
打印出来的结果与上述是一样的:
4、print(String s)
打印字符串,需要注意的是,如果s为null,输出null,而不是什么都不输出。
输出结果为:,注意,开头已经说过,print输出的行尾不换行。
5、print int float double long
这四个表示的都是数字类型,java输出的时候,会把数字转成10进制数输出。我们看看java的源代码:
可以看到,java调用了String.valueOf(数字)方法,把数字转成了字符串,然后输出。我们去看看valueOf这个方法的源代码:
valueOf方法将传进来的数字转成了10进制数,然后再转成了字符串。其它三个类型(long、float、double)也一样,都转成了10进制数。
综合起来的效果就是:把数字转换成10进制数输出。
实际测试一下:
输出全部转化为10进制:
二、println
println与print几乎一样,不同的地方有两点。
1、println行尾会换行
我们看看java的源代码:
println(boolean x)调用了print(boolean x),然后调用newLine()方法,这个方法会在print方法输出结束后,另起一行。
其它几个println方法也都是一样,调用对应的print方法,然后换行。
println的使用要比print方便,不需要自己再加一句print('\n')来换行。
2、println允许参数为空
这种情况下会直接换行,我们看看java源代码:
而print方法不允许参数为空,否则编译报错。
关于print和println的知识我就分享到这里,欢迎批评指正!
参考资料:java源代码