黑马程序员技术交流社区

标题: \r使用求解答。 [打印本页]

作者: 李哲    时间: 2012-2-21 23:14
标题: \r使用求解答。
System.out.println("hello\rjava");
为什么会打印javao?
而不是hello
         java?
\r不是回车吗?
作者: 黄奇耀    时间: 2012-2-21 23:18
System.out.println("Hello" + '\r' + "Java");
作者: 李晓俊老师    时间: 2012-2-21 23:19
不知道什么问题,我把你的代码复制下来,,打印的就是
hello
java啊

作者: 李哲    时间: 2012-2-21 23:31
李晓俊 发表于 2012-2-21 23:19
不知道什么问题,我把你的代码复制下来,,打印的就是
hello
java啊

我打印出来就是javao。上面同学的加"Hello" + '\r' + "Java",也是打印Javao。
不知道哪出问题。
作者: 仵先进    时间: 2012-2-21 23:56
李哲 发表于 2012-2-21 23:31
我打印出来就是javao。上面同学的加"Hello" + '\r' + "Java",也是打印Javao。
不知道哪出问题。 ...

问题虽小,却很逗,我试试也是打印 javao ,问题很怪呀,可是用System.out.println("hello \n java");就会分行:最后仔细看看 \r  代表 回车  \n 才是真正的 换行 :lol
作者: 熊玖帅    时间: 2012-2-22 01:45
/r 叫回车 Carriage Return
/n 叫新行 New Line
但是都会造成换行 有的控件是要\r\n才能达到换行的!




作者: 王康    时间: 2012-2-22 09:39
当按下回车键相当于\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

作者: 【专】【属】    时间: 2012-2-22 13:07
在windows中\r\n才是回车换行了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2