总的概括一下\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");
}
}
结果: