java中回车符\r的问题

System.out.println("输出回车符:"+"回车开始"+'\r'+"回车结束");

cmd上的结果是:回车结束符:回车开始
为什么“回车结束”跑到前面去了而“输出回车”不见了

我的理解是这样的,程序先打印
输出回车符:回车开始
然后碰到\r,并没有完成换行,因为必须要\r\n才能在windows里面换行并且置光标到下行行首。但是现在只有\r,所以光标到了行首‘输出回车符:回车开始‘
输出的回车结束覆盖掉了‘输出回车‘四个汉字.

个人的理解是\r只是把光标移动到行首追问

可是为什么在eclipse就没有这个问题了呢

追答

在eclipse里面具体还没想过,可能和那个console有关联。

追问

恩 听赞同你之前说的,谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-12
ublic class Hello {
public static void main(String[] args) {
System.out.print("回车开始" + '\n' + "回车结束");
System.out.println("\n") ;
System.out.print("回车开始" + "回车结束");
}
}
//回车开始
//回车结束
//
//回车开始回车结束
结果就是这样了, \r \t \n 属于转义字符, 转出来就是个字符,有的可见,有的不可见 。
楼主你那输出结果是对的 , 没啥可说的 。
第2个回答  2011-07-12
System.out.println("输出回车符:"+"回车开始"+'\r'+'\t'+"回车结束");
不是都输出了吗,也换行了。换行肯定从第一个开始输出了。要空加\t追问

我很负责任的告诉你这样的结果是: 回车结束 始

就这五个字 ,其他的什么都没了

第3个回答  2011-07-12
windows系统规定换行是由\r\n两个字符决定的。追问

\n \r\n我都试验过了,但是这个\r在eclipse上能行,结果是
输出回车符:回车开始
回车结束
就是在EditPlus 3就是这种结果,为什么会是这样的呢

相似回答