转义字符\n和\r的区别
String s1 = "哈哈\n呵呵";
System.out.print (s1) ;
和
String s1 = "哈哈\r呵呵";
System.out.print (s1) ;
这俩的输出结果是一样的呀,都是一行哈哈一行呵呵,那这两个字符的作用有什么区别呢? 展开
转义字符\n和\r只有一个区别:就是换行方式不同。
\n 软回车:
在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。
\r 软空格:
在Linux、unix 中表示返回到当行的最开始位置。
在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。
例如:
代码
print u"你好吗?\n朋友"print u"——分隔线——"print u"你好吗?\r朋友"
输出结果:
你好吗?
朋友
——分隔线——
朋友吗?
扩展资料
正确理解转义字符\
strlen与sizeof的意义:
sizeof是C/C++中的一个关键字,不是函数,简单的说其作用就是返回一个对象或者类型所占的内存字节数。
strlen()是一个函数,求一个字符串的有效长度,strlen函数的结束条件是遇到\0结束计数。
用sizeof求一个字符串分为几种情况:
1、\后面一般跟的是八进制数如 \000 \377 \378
2、\也可跟16进制如\x11 \xff
3、\后面跟的字符如\a \A \8
如下字符串举例:
"\0000" 可以看成\000 0 \0 ,sizeof 值为3,第一个\000代表ascii第一个元素(NULL空操作),第二个0是字符0,最后红色的\0是系统自带\0(他实际也是\0,\00,\000 也就是ASCII所代表的第一个元素NULL)用于结束字符串。所以sizeof就是3。
一、含义不同:
\r 回车 -- Carrige Return, ASCII 值 0x0D
\n 新行,换行 -- New-Line ASCII 值 0x0A
二、表示不同:
回车 -- 输出位置移动到行首,不换行。
新行 -- 输出位置移动到下一行行首。
\n 软回车:
在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。
组成:
转义字符串(Escape String),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。
比如,要显示小于号(<),就可以写 < 或者 < 。
用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。
以上内容参考:百度百科-转义字符
哈哈
呵呵
呵呵
\r会覆盖前面的内容
在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r
的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。
2、\r 软空格:
在Linux、unix 中表示返回到当行的最开始位置。
在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。
那在windows里写java时这俩的作用是一样的吗?
在java中:
\r 回车就是回到当前行的行首。
\n 回车并换行另起一行,并回到另起一行的行首。