Java初学者 - 转义序列

时间:2016-08-31 10:59:46

标签: java

我是java编程的新手,有些东西让我对 / t 转义序列感到困惑。我试着写乘法表的代码:

for(int i = 1; i<=10; i++){
   for(int j = 1; j<=5; j++){
       System.out.println(j + "*" + i + "=" + j*i + "\t"); 
   }
   System.out.println();
}

为什么输出是这样的:

enter image description here

我的意思是,为什么在每种情况下标签都不是“相同的大小”,即1x1 = 1与1x2 = 2相当远,但10x1 = 10和10x2 = 20更接近。 此外,当我尝试在代码中执行类似的操作时:

System.out.println(j + "*" + i + " = " + j*i + "\t"); 

注意等号两边的空格),输出混乱:

enter image description here

1 个答案:

答案 0 :(得分:6)

默认情况下,制表符(\t)形成一个&#34;表&#34;,因此具有固定大小(制表符宽度)的列。在控制台中,添加空格直到下一列开始。

如果您的文字比列宽(或与第二个示例一样宽),则会跳过下一列(这就是添加其他列的原因),结果显示为有点奇怪。

您可以使用简单的文本编辑器进行试用,只需按下制表符键,您就会看到相同的行为:

a       b       c
looooooong      d       e