栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

换行符 与回车符 的区别(不同操作系统下换行符的区别)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

换行符
与回车符
 的区别(不同操作系统下换行符的区别)

  1. 先说小知识:
    回车 r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
    换行 n 本义是光标往下一行,n的英文newline,控制字符可以写成LF,即Line Feed

  2. 代码案例:
    具体例子说明:有个循环,循环10次给buffer加字符串,结果最后只打印了 一行数据。

    public class demoLogger {
        public static void main(String[] args) {
            StringBuffer buffer = new StringBuffer();
            int i = 0;
            while (i < 10){
                String msg = "我是第" + i + "行数据,啦啦啦啦啦";
                buffer.append(msg).append("r");
                i++;
            }
            System.out.println(buffer);
            System.out.println("---------------");
        }
    }
    


    这是因为 r 是将光标重新回到开头,导致继续添加数据,会把之前的数据给删除掉。

    测试案例:

    public class demoLogger {
        public static void main(String[] args) {
            System.out.println("acnb");
            System.out.println("--------");
            System.out.println("arb");
            System.out.println("--------");
            System.out.println("abn");
            System.out.println("--------");
            System.out.println("abr");
            System.out.println("--------");
            // 为什么这个可以打印 a b呢,因为先r把光标重回开头,但是n 直接换行,不会覆盖之前所写内容
            System.out.println("arnb"); 
            System.out.println("--------");
            System.out.println("anrb");
            System.out.println("--------");
            // 这里没有打印c 是因为n换行之后,先打印了c,然后r 光标回到开头,b覆盖了c
            System.out.println("ancrb");
         }
    }
    

  3. 总结:

    1. 一般在win下的换行符是使用rn 两个一起使用的,或者单独使用n 也是可以的。
    2. 在UNIX类系统,换行n就表现为光标下一行并回到行首。
    3. 在MAC上,r就表现为回到本行开头并往下一行。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号