黑马程序员技术交流社区

标题: 关于转义字符的问题 [打印本页]

作者: haomingji    时间: 2014-5-7 12:37
标题: 关于转义字符的问题
  1. /*
  2. 问题:关于转义字符"\n"和"\r"的用法和区别
  3. 解决方法:通过打印几条含有"\n"和"\r"的转义字符的字符串,并分别运行在Window操作环境下 (在Eclipse中)和在Dos命令窗口中(在开始->运行->cmd),然后再通过两种环境下的打印结果进行对比和分析,最终得出两者的用法和区别。
  4. */
  5. class Test{
  6.         public static void main(String []args){
  7.                 System.out.print("hello\nworld");//尝试打印单个转义字符"\n"
  8.                 System.out.print("---------------");//将打印结果用横线隔开
  9.                 System.out.print("hello\rworld");//尝试打印单个转义字符"\r"
  10.                 System.out.print("---------------");//将打印结果用横线隔开
  11.                 System.out.print("hello\r\nworld");//尝试连续打印转义字符"\r"和"\n"
  12.         }
  13. }
复制代码

作者: wanghe826    时间: 2014-5-7 12:52
在windows下换行由两个字符组成
作者: gentleman    时间: 2014-5-7 18:37
  1. class Test{
  2.         public static void main(String[] args){
  3.                System.out.print("1hello\n1world");//尝试打印单个转义字符"\n"
  4.                 System.out.print("-----------1-");//将打印结果用横线隔开
  5.                 System.out.print("2hello\r2world");//尝试打印单个转义字符"\r"
  6.                 System.out.print("-----------2--");//将打印结果用横线隔开
  7.                System.out.print("3hello\r\n3world");//尝试连续打印转义字符"\r"和"\n"
  8.         }
  9. }
复制代码

输出结果为
1hello
2world--------------------------------------------------------------2--3hello
3world
。。。
在windows控制台测试第一行的world没打印出来并且第一行world后面一直到第二行\r都没打印出来。
分析出来 的结果:单独用\r时候\r前面的所有内容都不会打印,除非前面有\n.比如
打印abc\r,则不会被打印。如果打印a\nbc\r,则a会被打印。


\r\n输出正常






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2