\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");
}
}
结果:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。