public class Example1 {
public static void main(String[] args) {
System.out.println("h\tw");
System.out.println("h w");
System.out.println("hello\tworld");
System.out.println("hello world");
}
}
这给了我下面的输出 output
在第一个\ t = 7个空格中,在第二个时间\ t = 3个空格 这是什么原因?
答案 0 :(得分:2)
该选项卡的工作方式类似于4或8的乘法,具体取决于您使用的console
。首先,控制台打印在选项卡之前包含1个字符h
。因此,h&之间会有7
个空格。 W上。在第二种情况下,hello
长度为5
char,因此hello和world之间会有3
个空格。
注意:你提到h and w
之间有6个空格,但我相信这将是7个空格。
对于以下示例:
System.out.println("helloworld\tworld"); // line 1
System.out.println("helloworld world");
第1行将生成helloworld world
作为输出。现在,helloworld
有10
个字符。我假设您的控制台正在使用8乘法主体。因此,大于10
的最低乘法是8*2 =16.
因此会有16-10 = 6
个空格。
答案 1 :(得分:1)
Tab实际上添加了一个可变长度,但它有一个最大长度。想象一下tab-stop每8个字符(只是垂直线,停止的地方是你使用标签)
|_ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _|
如果您使用此字符串“Hello \ tWorld”,它将移至Hello之后的下一个制表位。
|H E L L O _ _ _|W O R L D _ _ _|
同样适用于较短的字符串,如'h \ tw'
|H _ _ _ _ _ _ _|W _ _ _ _ _ _ _|