Java中的制表符"\t"究竟如何缩进?
一、基础知识
在没有设置的情况下,例如IDEA编辑器中,"\t"既可以缩进4个空格,也可以缩进8个空格。
若’‘\t’‘前面的字符位数<4,则’‘\t’‘默认缩进4位,包括前面的字符位数,即空格数=4-字符位数;若’‘\t’‘前面的字符位数>4,则’‘\t’'默认缩进8位,包括前面的字符位数,即空格数=8-字符位数。
二、对字符举例
测试代码
public static void main(String[] args) {
System.out.println("test1:制表符在字符后面且字符位数<4");
System.out.println("hi");
System.out.println("hi hi");//这里有2个空格,此行代码意思为模拟下行代码\t占位符,以下同理
System.out.println("hi\thi");
System.out.println("hi hi");//这里有6个空格
System.out.println("hi\t\thi");
System.out.println();
System.out.println("test2:制表符在字符前面且字符位数<4");
System.out.println("hi");
System.out.println(" hi");//hi前面为4个空格
System.out.println("\thi");
System.out.println(" hi");//hi前面为8个空格
System.out.println("\t\thi");
System.out.println();
System.out.println("test3:制表符在字符后面且字符位数>4");
System.out.println("radius");
System.out.println("radius radius");
System.out.println("radius\tradius");//这里有2个空格(第一个制表符中缩进空格数为8)
System.out.println("radius radius");
System.out.println("radius\t\tradius");//这里有6个空格(第一个制表符中缩进空格数为8,第二个制表符中缩进空格数为4)
System.out.println();
System.out.println("test4:制表符在字符前面且字符位数>4");
System.out.println("radius");
System.out.println(" radius");//这里有四个空格
System.out.println("\tradius");
System.out.println(" radius");//这里有8个空格
System.out.println("\t\tradius");
}
输出结果
三、对数字举例
前面我们仅仅对字符进行了举例,现在让我们来试一试数字吧。
测试代码
public static void main(String[] args) {
System.out.println("test1:制表符在数字后面且数字位数<4");
System.out.println("1.0");
System.out.println("1.0 1.0");//这里有1个空格,此行代码意思为模拟下行代码\t占位符,以下同理
System.out.println("1.0\t1.0");
System.out.println("1.0 1.0");//这里有5个空格
System.out.println("1.0\t\t1.0");
System.out.println();
System.out.println("test2:制表符在数字前面且数字位数<4");
System.out.println("1.0");
System.out.println(" 1.0");//hi前面为4个空格
System.out.println("\t1.0");
System.out.println(" 1.0");//hi前面为8个空格
System.out.println("\t\t1.0");
System.out.println();
System.out.println("test3:制表符在数字后面且数字位数>4");
System.out.println("3.141");
System.out.println("3.141 3.141");//这里有3个空格(第一个制表符中缩进空格数为8)
System.out.println("3.141\t3.141");
System.out.println("3.141 3.141");//这里有3+4=7个空格(第一个制表符中缩进空格数为8,第二个制表符中缩进空格数为4)
System.out.println("3.141\t\t3.141");
System.out.println();
System.out.println("test4:制表符在数字前面且数字位数>4");
System.out.println("3.141");
System.out.println(" 3.141");//这里有4个空格
System.out.println("\t3.141");
System.out.println(" 3.141");//这里有8个空格
System.out.println("\t\t3.141");
}
输出结果
总结
由此可见,不管是Java中的字符还是数字,制表符"\t"都是一样的作用机制:若’‘\t’‘前面的字符位数<4,则’‘\t’‘默认缩进4位,包括前面的字符位数,即空格数=4-字符位数;若’‘\t’‘前面的字符位数>4,则’‘\t’'默认缩进8位,包括前面的字符位数,即空格数=8-字符位数。