为什么回车在我的下面的代码中隐藏了前面的字符“l”。
System.out.println("\tHello \tWor\nl\rd");
这是输出:
Hello Wor
d
为什么回车在我的下面的代码中隐藏了前面的字符“l”。
System.out.println("\tHello \tWor\nl\rd");
这是输出:
Hello Wor
d
它不是隐藏的,而是被覆盖的——你已经在代码中使用了 '\n'。
\n 或多或少地输入。光标转到下一行。然后你有 l,这是写的(在行的开头)。然后你有\r,它告诉控制台将光标带到SAME 行的开头(即已经写了l 的地方)。然后你写 d,它会覆盖之前的 l。
将最后一个 \r 替换为 \n 你会看到:Hello Wor l d
打印字符串的结尾部分
Wor\nl\rd
方法:
print W
, o
, r
,然后转到下一行的开头 ( \n
),然后
print l
,
然后转到同一行的开头 ( \r
) 并
打印d
(因此覆盖l
)。
\r
是回车或<CR>
(回车,0x0D
),而\n
表示换行或<LF>
(换行,0x0A
)。
这些术语来自打字机 - 在行尾,需要将托架(用一张纸)返回到右侧,然后执行“换行”。