在编程中有一些字符是打不出来的,比如换行,提示音,下一个制表位等等,于是程序语言的开发者就设计了转义序列(escape sequence)这种东西用来表达这些字符。
所谓转义,可以理解为 “采用某些方式暂时取消该字符本来的含义”,这里的 “某种方式” 指的就是在指定字符前添加反斜杠 \,以此来表示对该字符进行转义。
下表列出了常见的转义字符:
转义字符 | Unicode | 描述 |
---|---|---|
\b | \u0008 | 退格(BS) ,将当前位置移到前一列 |
\t | \u0009 | 水平制表(HT) (跳到下一个TAB位置) |
\n | \u000a | 换行(LF) ,将当前位置移到下一行开头 |
\f | \u000c | 换页(FF),将当前位置移到下页开头 |
\r | \u000d | 回车(CR) ,将当前位置移到本行开头 |
" | \u0022 | 代表一个双引号(")字符 |
’ | \u0027 | 代表一个单引号(’)字符 |
\ | \u005c | 代表一个反斜线字符 ‘’ |
0 到 255 间的 Unicode 字符可以用一个八进制转义序列来表示,即反斜线 ‟\‟ 后跟最多三个八进制。在字符或字符串中,反斜线和后面的字符序列不能构成一个合法的转义序列将会导致编译错误。
Scala 制表符的转义字符为 \t
object HelloWorld { def main(args: Array[String]): Unit = { println("嗨客网(www.haicoder.net)!") println("Hello\tHaiCoder") } }
程序运行,控制台输出,如下图:
我们可以看到,程序的输出为
Hello HaiCoder
,在Hello
和HaiCoder
之间多了一个制表符。Scala换行符
Scala 换行符的转义字符为
\n
object HelloWorld { def main(args: Array[String]): Unit = { println("嗨客网(www.haicoder.net)!") println("Hello \nHaiCoder") } }
程序运行,控制台输出,如下图:
我们可以看到,程序的输出在
Hello
和HaiCoder
之间多了一个换行。Scala反斜杠
Scala 反斜杠的转义字符为
\\
object HelloWorld { def main(args: Array[String]): Unit = { println("嗨客网(www.haicoder.net)!") println("Hello \\HaiCoder") } }
程序运行,控制台输出,如下图:
我们可以看到,程序的输出为
Hello \HaiCoder
,在Hello
和HaiCoder
之间多了一个\
,我们明明输入了两个\
,但结果只输出了一个\
,因为还有一个\
是起转义的作用。Scala双引号
Scala 双引号的转义字符为
\"
object HelloWorld { def main(args: Array[String]): Unit = { println("嗨客网(www.haicoder.net)!") println("Hello "HaiCoder") } }
程序运行,控制台输出,如下图:
我们可以看到,我们想在程序中输出单个双引号的时候,直接使用单个双引号程序会直接报错,我们需要使用双反斜杠来进行转义,我们修改程序如下: