java语言中的\t也是一个转义字符,相当于一个制表符tab(就是相当于你按了一下Tab键),windows中的制表符是字表符前面的字符每八个一分割,最后一段不足八个的补空格,当然你补完成八个的次数和你的\t的个数是有关的,例如:System.out.println("123\t");此时的\t是3向后补了5个空格的,
System.out.println("123\t\t");此时3后面有5+8=13个空格(第一个\t用来补了前面不足的空格,第二个\t直接打出了8个空格), 这些都可以自己验证。
另外我发现System.out.println("这是八个\t123");的输出结果和System.out.println("1234567812345678123")的输出呈现这样的显示:
这是八个123
1234567812345678123
如果一个汉字占用了两个空格的话,四个汉字占用了八个,那么\t就会向后占用8个空格,那第一行的123应该和第二行的第三个123对应,面事实并非如此,看出“这是八个”并没有占用八个位置,可能一个汉字并没有严格地占用两个位置的关系,在我看来这四个汉字占用了7个数字的位置(当然是眼看出来的),于是\t在后面只补了一个空格,导致产生这样的输出吧
另外我发现System.out.println("这是八个\t123");的输出结果和System.out.println("1234567812345678123")的输出呈现这样的显示:
如果一个汉字占用了两个空格的话,四个汉字占用了八个,那么\t就会向后占用8个空格,那第一行的123应该和第二行的第三个123对应,面事实并非如此,看出“这是八个”并没有占用八个位置,可能一个汉字并没有严格地占用两个位置的关系,在我看来这四个汉字占用了7个数字的位置(当然是眼看出来的),于是\t在后面只补了一个空格,导致产生这样的输出吧