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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李哲 中级黑马   /  2012-2-21 23:14  /  1887 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

System.out.println("hello\rjava");
为什么会打印javao?
而不是hello
         java?
\r不是回车吗?

评分

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

查看全部评分

7 个回复

倒序浏览
System.out.println("Hello" + '\r' + "Java");
回复 使用道具 举报
不知道什么问题,我把你的代码复制下来,,打印的就是
hello
java啊
回复 使用道具 举报
李晓俊 发表于 2012-2-21 23:19
不知道什么问题,我把你的代码复制下来,,打印的就是
hello
java啊

我打印出来就是javao。上面同学的加"Hello" + '\r' + "Java",也是打印Javao。
不知道哪出问题。
回复 使用道具 举报
李哲 发表于 2012-2-21 23:31
我打印出来就是javao。上面同学的加"Hello" + '\r' + "Java",也是打印Javao。
不知道哪出问题。 ...

问题虽小,却很逗,我试试也是打印 javao ,问题很怪呀,可是用System.out.println("hello \n java");就会分行:最后仔细看看 \r  代表 回车  \n 才是真正的 换行 :lol
回复 使用道具 举报
/r 叫回车 Carriage Return
/n 叫新行 New Line
但是都会造成换行 有的控件是要\r\n才能达到换行的!



回复 使用道具 举报
王康 黑马帝 2012-2-22 09:39:28
7#
当按下回车键相当于\r\n,也就是回车换行,这个是因为所用操作系统的不同造成的吗?
其次,\n和\r还有\r\n到底是什么区别?为什么我发现它们实现的功能是完全一样的。而且,本来\r应该是只回车不换行,但是当运行System.out.println(*****\r#####)时得到的结果是*****(此处换行)#####,而不是书中给出的结果#####*****?

\r 叫回车 Carriage Return
\n 叫新行 New Line
但是都会造成换行

使用System.getProperty("line.separator")来获取当前OS的换行符
据我记得,各系统应当是
\n Unix/Linux
\r\n Windows
回复 使用道具 举报
在windows中\r\n才是回车换行了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马