全部博文(2065)
分类: Java
2010-04-08 21:08:53
先输出了:test
然后遇到\r
光标被重置于行的开始处,也就是字母t的前面,
然后又输出了123
这时123将原来的tes覆盖掉了!
所以最后的结果就是:123t
历史知识:
回车换行符,是2个符。
一个回车,一个换行。
一个是控制屏幕或者从键盘的Enter键输入。 另一个是控制“打印机”!
0d0a问题,是打印机时代留下的问题,如果用过没有屏幕的,只有卷纸输出的机器,就可以知道,
如果向打印机发送一个回车符是没有用的,只有发换行符才有用。
笔记:
\n 表示的是换行(newline)。这种是针对没有电脑屏幕的年代。打印机认识这个换行符
\r 表示的是回车(return)。 这种是针对回车。而打印机根本不认识回车符!
如今我们在DOS-Windows的系统里需要区分"\r\n”和“\n”,但在Unix中只有"\n”。
结论:所以为什么JAVA在\n 却不是回车符了。
\r 是回车,return ASCII = 0x13
\n 是换行,newline ASCII = 0x0a
windows下\r\n,linux或unix下\n
结论:
在DOS中实现换行操作
public class A{
public static void main(String[] args) {
System.out.println("test\n\r123");
}
}