\b是退格符的意思,将光标回退一个字符的位置,可以结合空白字符使用达到类似删除的效果
1.回退符’\b’后面没有内容 的情况
原样输出
// 回退符\b后面,没有内容,则原样输出
System.out.println("x\b"); // x 回退符后面没有内容,则原样输出x
System.out.println("xyzbbb\b\b"); // xyzbbb 回退符后面没有内容,则原样输出xyzbbb
System.out.println("xyz\b\b\b"); // xyz 回退符后面没有内容,则原样输出xyz
2.回退符’\b’ 后面有内容 的情况
//回退符\b后面有内容
//回退 1个字符,就是删除回退符 的 上一个字符,回退符 后面字符紧跟其后
System.out.println("abc\b1"); // ab1 回退到c,c删除,1取代c的位置
System.out.println("abc\b12"); // ab12 回退到c,c删除,1取代c的位置,2紧跟其后
System.out.println("abc\b123"); // ab123 回退到c,c删除,1取代c的位置,23紧跟其后
System.out.println("abc\b123456"); // ab123456 回退到c,c删除,1取代c的位置,23456紧跟其后
System.out.println("——————————————————————————————————");
//回退3个字符,回退到e,回退符后面的数,取代e,如果回退符后面的数 小于 回退符的数量,则回退符前面没有被取代的数不变
System.out.println("abcdefg\b\b\b1"); // abcd1fg 回退到e,1取代e的位置,fg不变
System.out.println("abcdefg\b\b\b12"); // abcd12g 回退到e,1取代e的位置,2取代f的位置,g不变
System.out.println("abcdefg\b\b\b123"); // abcd123 回退到e,1取代e的位置,2取代f的位置,3取代g的位置
System.out.println("abcdefg\b\b\b123456"); // abcd123456 回退到e,1取代e的位置,2取代f的位置,3取代g的位置,456紧跟其后
//System.out.println("xyz\b\b300"); // x300
//System.out.println("higkkkkkkkk\b\b\b\b\b\b\b\b123"); // hig123kkkkk