A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 tiandaochouqin 于 2015-12-13 19:31 编辑

本人新手,交流一点学习心得,还请大家多多指教。
---背景----
曾经一直困惑\n\r的区别。似乎都是换行功能,可是也没发现好的解释。今天遇到java键盘输入输出的问题,再一次遇到\n\r,终于来了灵感,综合在网上查询,还有自己编写的小程序,搞清了它们的区别。
------我是华丽的分割线---------------
一:解释
1.\r 的全称----> Carriage Return,中文:回车;---->回到本行的首位;(个人看法:类似键盘"home"键功能

2.\n 的全称----> New Line, 中文:换行;---->到下一行首位;(个人看法:类似键盘“Enter”键功能
使用System.getProperty("line.separator")来获取当前OS的换行符
针对不同的系统:苹果系统Mac\r ,Unix、Linux系统\n ,Windows系统\r\n。


二:上程序验证
-------java简单程序区分即可看出--------
//环境:win7,Editplus;
class Test2
{
public static void main(String[] args)
{
System.out.println("_________________________\n");
System.out.println("Hello World!---->1"+"\n\rabc");
System.out.println("Hello World!---->2"+"\r\nabc");
System.out.println("Hello World!---->3"+"\rabc");
System.out.println("Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");
int i=12345678;
System.out.println(i+"Hello World!---->1"+"\n\rabc");
System.out.println(i+"Hello World!---->2"+"\r\nabc");
System.out.println(i+"Hello World!---->3"+"\rabc");
System.out.println(i+"Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");

String s1="ttt";
String s2=new String("kkk");
System.out.println(s1+"Hello World!---->1"+"\n\rabc");
System.out.println(s1+"Hello World!---->2"+"\r\nabc");
System.out.println(s1+"Hello World!---->3"+"\rabc");
System.out.println(s1+"Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");
System.out.println(s2+"Hello World!---->1"+"\n\rabc");
System.out.println(s2+"Hello World!---->2"+"\r\nabc");
System.out.println(s2+"Hello World!---->3"+"\rabc");
System.out.println(s2+"Hello World!---->4"+"\nabc");
}
}
----------编译运行情况-------------------
_________________________

Hello World!---->1
abc
Hello World!---->2
abc
abclo World!---->3
Hello World!---->4
abc
_________________________

12345678Hello World!---->1
abc
12345678Hello World!---->2
abc
abc45678Hello World!---->3
12345678Hello World!---->4
abc
_________________________

tttHello World!---->1
abc
tttHello World!---->2
abc
abcHello World!---->3
tttHello World!---->4
abc
_________________________

kkkHello World!---->1
abc
kkkHello World!---->2
abc
abcHello World!---->3
kkkHello World!---->4
abc

有图有真相:

-------------------------------------------
三:总结:

\r\n或\n\r没有区别,\n也等同于:\r\n或\n\r;
\r单独使用,回到本行行首,替换掉对应的字符。





19 个回复

倒序浏览
666666,一直想做的事被你做了,我就懒得去敲啦哈哈哈哈哈
回复 使用道具 举报
收藏起来了。
回复 使用道具 举报
老徐,加油!
回复 使用道具 举报
不错,这点你做的不错,鼓励下
回复 使用道具 举报
赞!~支持楼主!
回复 使用道具 举报
66666666666666666
回复 使用道具 举报
楼主果然厉害
回复 使用道具 举报
见识了,给力
回复 使用道具 举报
6666666666666666
回复 使用道具 举报
6666666  涨姿势了!
回复 使用道具 举报
lixy 中级黑马 2015-12-22 20:04:46
12#
一直提到回车换行,就没深究过。楼主赞
回复 使用道具 举报
6666666666666涨知识了!!!
回复 使用道具 举报
果断收藏~!~!
回复 使用道具 举报
刚好我也有这困惑
回复 使用道具 举报
VisionDo 来自手机 中级黑马 2015-12-23 10:07:55
16#
API里面有说过,官方建议使用newLine()
回复 使用道具 举报
birdy 中级黑马 2015-12-23 11:20:33
17#
学习了 谢谢分享~!
回复 使用道具 举报
huaduwuzhe 来自手机 中级黑马 2015-12-23 11:38:17
18#
println中ln就是换行
回复 使用道具 举报
不错 , 总结的不错 ,点个赞
回复 使用道具 举报
挺善于总结啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马