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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hollywood2014 中级黑马   /  2014-10-4 21:24  /  2169 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

别的不说,咱先上图


大家都知道windows中的换行符是“\r\n”,也就是说,在文本编辑器中输入这两个字符就意味着换行
但是,小弟一直困惑的是,为什么在eclipse中,
system.out.print("\n");
system.out.print("\n");
system.out.print("\r\n");
这三个句子都是换一行
还请大侠告知!

01.png (134.71 KB, 下载次数: 86)

01.png

01.png (134.71 KB, 下载次数: 94)

01.png

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

10 个回复

倒序浏览
\r\n只是.net
回复 使用道具 举报
在JAVA里,转义字符\n是“换行”的意思;\r是“回车”的意思。由于我们平时使用键盘,一按键盘上的回车键(Enter),就自动换到下一行,并且到下一行的行首。如果这里的“回车”也理解成键盘上的Enter的话,那\n和\r岂不是同一意思?

其实不然,这里的\n(换行)是“另起一行,并回到另起一行的行首”的意思;而\r是“回到当前行的行首,并且\r后的字符将取代原有的相同位置的字符。举个例子:

public class Test1{

            public static void main(String[] args){

                   System.out.println("12345\n6789");

            }

}

编译、运行后,显示结果为:

12345

6789

而如果把"12345\n6789”换为"000006\r12345",则编译、运行后的显示结果为:

123456

也就是,\r后的12345取代了原来的00000,而6保留。



评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1 赞一个!

查看全部评分

回复 使用道具 举报 2 0
二楼高手
回复 使用道具 举报
沙发、、、、
回复 使用道具 举报
学习了 二楼真厉害
回复 使用道具 举报
zz_job 中级黑马 2014-10-5 13:59:31
7#
看到过EditPlus上出现过这样的问题   因为在IDE通常都是跨平台的   所以已经考虑了不同平台的写法对结果的影响   也因为IDE通常是通过捕获系统的输出再重定向到集成的控制台   很容易实现    你用CMD控制台就不会出现这样的结果   
回复 使用道具 举报
mark......
回复 使用道具 举报
路过。。。。。。。。
回复 使用道具 举报
杨佳名 发表于 2014-10-5 00:20
在JAVA里,转义字符\n是“换行”的意思;\r是“回车”的意思。由于我们平时使用键盘,一按键盘上的回车键( ...

多谢大侠,但是为何我的结果是这样的 理论上“\r”是回到一行的开头,难道是我Eclipse设置的问题吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马