【Java基础】 \n, \t, \r 的区别

\n:在Windows中表示换行,换到下一行的行首位置。在Linux,unix中表示左右位置不发生改变,换到下一行,及换行前后的纵坐标相同。

\t:在Window中表示缩进,相当于按下Tab键之间的距离,一般为八个字符。

\r:在Window中表示回车,即移动到本行的最开始位置。

        想必也有不少编程小白在学习Java的时候遇到了转义符的相关问题,我最近也是被\n,\r,\t整的很迷惑,在看了很多篇CSDN的文章后,发现自己没有弄清楚反而越是糊涂了,其中之一的原因就是很多博主在文章中的解释并没有注明该转义符的作用所适用的系统是什么。

测试:

public class test {
public static void main(String[] args) {
	System.out.print("2021\n2022");
	System.out.print("2023\r2024\t2025");
}
}

输出的结果:

        从结果来看,\n,\t和先前所描述的没有出入,但是 \r 的结果却和想的不太一样,起到的作用也是换行到下一行的行首,和\n的效果相同。至于为什么结果会和定义不相符我也是很疑惑,希望有大佬可以在评论里讲解一下。

      

回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。

       在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正 好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车(return)”,告诉打字机把打印头定位在左边界;另一个叫做“换行(newline)”,告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二

猜你喜欢

转载自blog.csdn.net/qq_44624536/article/details/113577688