System.out.print("abc");
System.out.print("\b");
上面的程序在windows控制台中输出仍然是abc 并没有删除末尾的c
但是
System.out.print("ab\bc");
输出的结果为ac 删除了中间的b
我的问题是 为什么第一个程序中末尾的c没有被删除呢
多谢指导。。
System.out.print("abc");
System.out.print("\b");
上面的程序在windows控制台中输出仍然是abc 并没有删除末尾的c
但是
System.out.print("ab\bc");
输出的结果为ac 删除了中间的b
我的问题是 为什么第一个程序中末尾的c没有被删除呢
多谢指导。。
打个比方吧,你用计算机打字,输入ab,向前删除c,然后打印,结果是ac
但是如果你用的是打字机,那么已经白纸黑字印在纸上了,那就没法修改了。
一旦调用print,就将结果提交给操作系统去显示了,后面即便再有\b,也没法删除了。
但是在print内部,ab\bc,那么可以先对表达式求值得到ac,然后再输出。