在IDEA中使用制表符 t 控制输出时,常常会发现在控制台中依然出现距离、格式不统一这样的问题,对于制表符具体能够控制的缩进长度往往不够清楚,因此,我通过具体例子进行检验一下。
1、代码块System.out.println("""
t********t&&&&1234^^^
t********t&&&&t^^^
t********t&&&&t^^^
t********t&&&t^^^
t*******t&t^^^
t一二三四五t一二三t^^^
t一二三四t一二三t^^^
t一二三t一二三t^^^
t一二t一二三t^^^
t一t一二三t^^^
""");
2、IDEA控制台的输出
3、分析
英文字符下:
字符串长度为0~3时,后面接t,将字符补全至4位,即:"****t"输出为"*** "
字符串长度为4时,后面接t,此时与字符串长度为0相似,"****t"输出"**** "
不难发现,t从最左侧开始计数,长度4为一组,如果t前的长度刚好不满4的倍数,则补空格至4的倍数,如:"*******t"输出"******* "
中文字符下也是如此,但中文字符的长度判定较为独特。
在 utf-8 下,一个中文字符可近似看为2个字节长度,因此:
"一二t"需要补全至4个字节长度,即"一二 "
"一二三t"需要补全至8个字节长度,即"一二三 "



