'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。
回车和换行
今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回 车>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打 开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
c语言编程时(windows系统)\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
int main() {
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 被覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
一下是自己的总结。
/t相当于键盘的Tab键,/n换行New Line,/r回车Carriage Return,基本的概念应该是回车表示回到最前面,换行表示换一行。
操作系统的不同,换行符操也不同:
/r Mac
/n Unix/Linux
/r/n Windows
/** * 获取当前系统的换行符 */ public static void lineSeparator() { //注意在将流写入文件时,换行应根据操作系统的不同来决定。 //在程序我们应尽量使用System.getProperty("line.separator")来获取当前系统的换 //行符,而不是写/r/n或/n。 //这样写程序不够灵活 //当我们在java控制台输出的时候,/r和/n都能达到换行的效果。 if (System.getProperty("line.separator").equals("/r/n")) { System.out.println("//r//n is for windows"); } else if (System.getProperty("line.separator").equals("/r")) { System.out.println("//r is for Mac"); } else if (System.getProperty("line.separator").equals("/n")) { System.out.println("//n is for Unix/Linux"); } System.out.println("aa/nbb"); System.out.println("aa/rbb"); System.out.println("aa/tbb");
转自:http://blog.csdn.net/niguang09/article/details/6275040#
个人总结:换行时采用System.getProperty("line.separator")
相关推荐
### Java去除字符串中的空格、回车、换行符、制表符的知识点详解 #### 一、背景介绍 在日常的软件开发过程中,我们经常需要处理来自各种来源的文本数据,例如用户输入、文件读取等。这些数据中常常会包含空格、...
在Java编程语言中,处理字符串时经常会遇到需要替换或去除回车换行符的情况,这在处理文本数据、日志文件或用户输入时尤其常见。回车换行符是文本中用于表示新行的特殊字符组合,通常由`\n`(换行符)和`\r`(回车符...
在上面的代码中,我们使用正则表达式 `\\s*|\\t|\\r|\\n` 来匹配字符串中的空格、制表符、回车符和换行符。然后,我们使用 Matcher 对象的 replaceAll() 方法将这些无用字符替换为空字符串。 2. 使用 String 类的 ...
正则表达式 "\\s*|\t|\r|\n" 被用来匹配字符串中的空格、回车符、换行符和制表符。其中,“\\s*”匹配任意数量的空白字符,包括空格、制表符、换行符和回车符。匹配到的字符通过replaceAll方法被替换成空字符串,即...
### Java去除字符串中的空格与换行符 在Java编程中,经常需要处理文本数据,尤其是在读取文件或网络传输过程中获取的字符串。有时这些字符串可能包含不必要的空格、制表符、换行符等空白字符,这不仅会影响数据的...
例如,下面的代码展示了如何使用转义字符`\n`来插入一个换行符: ```java System.out.println("Hello\nWorld"); ``` 这段代码将会输出: ``` Hello World ``` #### 五、结论 综上所述,Java中的`char`类型与C/...
// 输出为:(制表符、换行符、回车符、清屏、光标移动至左上角) ``` 通过上述介绍,我们可以看出,Java中的转义字符为程序员提供了极大的便利,使得在处理字符串和其他文本数据时更加灵活高效。掌握这些转义字符...
- `\t`、`\n`、`\r` 分别代表制表符、换行符和回车符。 - `/d` 表示匹配任何数字,等同于`[0-9]`。 - `/D` 匹配非数字字符,等同于`[^0-9]`。 - `/s` 匹配任何空白字符,包括制表符、换行符等。 - `/S` 匹配非空白...
- `\n`: 换行符。 - `\r`: 回车符。 - `\b`: 退格符。 - `\"`: 双引号字符。 - `\'`: 单引号字符。 - `\\`: 反斜杠字符。 #### 九、变量 Java是一种强类型语言,意味着每个变量在声明时必须指定其类型。 - **变量...
- **换行符 `\n`**:表示一个新的行(换行)。 - **制表符 `\t`**:表示一个水平制表符。 - **回车符 `\r`**:表示一个回车符。 - **退格符 `\b`**:表示一个退格符。 - **换页符 `\f`**:表示一个换页符。 这些...
网 络为中 心 的 计 算 时 代 转 移 ,而 购 买 Java则 是 他 的 重 大 战 略 决 策的实施 部 署 。因 此 ,Java的 诞 生 必 将 对 整 个 计 算 机 产 业 发 生 深远的 影 响,对 传 统 的 计 算 模型 提 出 了 新 的 ...
- `.`:匹配除换行符`\n`外的任意单个字符。 - `[]`:表示字符集,可以指定一个范围或者多个字符中的任意一个。 - `[a-z]`:匹配任何小写字母。 - `[A-Z]`:匹配任何大写字母。 - `[a-zA-Z]`:匹配任何字母。 ...
- **转义字符**:`\`用于表示特殊字符,例如`\t`(制表符)、`\n`(换行符)、`\r`(回车符)。 - `\t`(`\u0009`):制表符 - `\n`(`\u000A`):换行符 - `\r`(`\u000D`):回车符 - **数字**: - `\d`:匹配...
5. 在 Java 中,\t 代表制表符,\b 代表退格符,\r 代表回车符,\n 代表换行符。 6. 在 Java 语言中,以 // 开始的注释只能注释单行内容,而以 /* 开始,*/ 结束的注释可以注释多行内容。 7. 表达式 46+ 的类型是 ...
- `\n`: 换行符 - `\r`: 回车符 - `\f`: 换页符 - `\b`: 退格符 - `\t`: 制表符 - `\"`: 双引号 - `\'`: 单引号 - `\\`: 反斜杠 - `\0`: 空字符 - `\ddd`: 八进制字符 - `\uxxxx`: 十六进制Unicode字符 #### 三、...
1. **英文句点符号**:`.` 代表任意单个字符,除了换行符。例如,表达式 "t.o" 可以匹配 "tno","t#o","teo" 等,但不能匹配 "tnno","to" 或 "Tno"。 2. **方括号**:`[]` 内的字符集用于指定只能匹配括号内的...
* \n The newline (line feed) character ('\u000A') \n 换行符 ('\u000A') * \r The carriage-return character ('\u000D') \r 回车符 ('\u000D') * \f The form-feed character ('\u000C')...
- `\n`: 换行符 (ASCII 10) - `\r`: 回车符 (ASCII 13) - `\t`: 制表符 (ASCII 09) - `\v`: 垂直制表符 (ASCII 11) - `\\`: 反斜杠字符 - `\'`: 单引号 - `\"`: 双引号 2. **特殊字符**: - `^`: 匹配输入...
- **换行符 (\n 或 \u000a)**:表示新的一行开始。在字符串中使用此转义字符可以实现文本的换行。 - **水平制表符 (\t 或 \u0009)**:将光标移动到下一个制表位。在格式化输出时非常有用,可以对齐数据列。 - **退格...
6. **转义字符**:在Java中,`\n`表示换行符,`\f`是页面分隔符,`\r`是回车符,`\t`是制表符。 7. **类的继承和根类**:所有Java类都隐式地继承自`java.lang.Object`类。包的层次结构必须与文件目录结构一致。 8....