java中\t,\n,\r,\b,\f的作用及说明

2022-11-13 12:11:03 java 作用

\t,\n,\r,\b,\f 的作用

直接输出看一下就知道了

System.out.println("11111\t2225222");System.out.println("55555\n665666");System.out.println("88877\r5454421\n");System.out.println("777458\b6594954");System.out.println("777788\f6594954");

输出结果:

结论

  • \t  相当于tab键
  • \b 退格(Backspace)
  • \f 控制台输出相当于如图
  • \n 换行
  • \r 回车

回车 \r  本义是光标重新回到本行开头。r 的英文return,控制字符可以写成CR,即Carriage Return

换行 \n  本义是光标往下一行(不一定到下一行行首)。n 的英文newline,控制字符可以写成LF,即Line Feed

\n\r\t\f 的区别

总的概括一下\n \r \t \f的功能

字符作用
\n换行
\r回车
\t制表 (相当于tab)
\f换页

单独解释一下每一个的特点。

\n 换行符,使光标定位到下一行。

public class Test {
	public static void main(String[] args) {
		System.out.print("aaaaaaaaaaaaa\nbbbb");
	}
}

结果:

\r 回车符,使光标回到当前行的行首。如果之前该行有内容,则会被覆盖;

public class Test {
	public static void main(String[] args) {
		System.out.println("hello world\r12345");
	}
}

编译器输出结果:

在这里,看起来就像是之前输出的hello world被清空后,又输出1234一样。和它本来的意思不一样啊。不是本应该输出“1234 world”吗?

然而在控制台中它的输出结果就是我们预期的结果:

至于什么原因,应该和编译器有关吧。

\t 是制表符。相当于tab缩进。

它会使得你输出的内容为4的倍数,如果输出字符串"a\t",那么,会在输出a之后再输出3个空格,如果输出字符串aaaa\t,则会在输出4个a后,再输出四个空格。那么如果输出aaaaa\t呢?,它会在后面输出3个空格,以使得输出的字符个数恰好为4的倍数。

下面是测试代码;

public class Test {
	public static void main(String[] args) {
		System.out.println("a\t*");
		System.out.println("123412341234");
		System.out.println("aaa\t*");
		System.out.println("123412341234");
		System.out.println("aaaa\t*");
		System.out.println("123412341234");
		System.out.println("aaaaa\t*");
		System.out.println("123412341234");
	}
}

结果:

\f 是换页符,在控制台上输出没有意义。

这里演示一下:

public class Test {
	public static void main(String[] args) {
		System.out.println("aaaa\fbbbb");
	}
}

结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章