\r和\n区别

\r和\n区别

int a = 444;

int b = 555;

System.out.print(a+'\r'+b);和System.out.print(a+'\n'+b);


输出的效果是一样的

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
小草1434 2017-04-03 21:02:47
/*该问题的测试代码应该如下*/
public class RorN {
  public static void main(String[] args) {
  int a = 444;
  int b = 555;
  System.out.print(a);
  System.out.print('\r');
  System.out.print(b);
  System.out.println("----------------------------");
  System.out.print(a);
  System.out.print('\n');
  System.out.print(b);
  System.out.println("----------------------------");
  }
}

结果如下:

555----------------------------

444

555----------------------------

问题分析:

\r : 回车

其作用只是将光标移动到当前行的第一个字符的位置

\n:换行并回车

其作用是先将光标移动到下一行,并且移动到第二行的第一字符的位置

个人感慨:

这个问题在我之前做ACM的时候遇到过,尝试各种问题,最后也是用Windows的dos命令行得出答案,希望你们也能够理解

提问者 用户1122807 2017-02-04 16:36:42

应该是双引号的:

System.out.print(a+"\r"+b);

System.out.print(a+"\n"+b);

"\r"和"\n"输出的结果是一样的,我就想问下他们两个的区别?回车和换行有区别吗?

  • \r表示回车,光标应该移动到这一行的最前面,\n表示换行,我们键盘上的Enter键包含回车和换行的功能。这个代码放在eclipse和命令行中输出结果是不一样的,命令行中会输出如下结果: 555444 555 第一个444没有了,因为\r起到回车的作用,光标移到最前面的同时,把之前输出的内容删除了。 你可以用命令行运行代码试一试。
    2017-02-05 11:31:53
回忆里小马甲 2017-02-04 14:39:31

你的几行代码我用eclipse运行了一下,输出效果不一样呀,第一个输出是1012,第二个输出是1009,你输出的结果是什么呢?

  • 你得出这样的结果是正常的,第一个值1012 是444+555+13得出的结果(\r 的ASCII 是13) 第二个值1009是444+555+9得出的结果(\n 的ASCII 是9) 在输出的时候,因为将字符将其转换成了int,然后3个int相加
    2017-04-03 21:07:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师