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源代码

posted on 2016-07-13 07:44  木道  阅读(2790)  评论(0编辑  收藏

导航