2、Java 转义字符和注释的使用
@[TOC](文章目录)
# 一、Java 转义字符(Escape Character)
## 1. 思考
>在 Java 中,可以通过 <font color=green>System.out.println("聪明的童鞋点赞了博主的文章");</font> 向控制台输出句子:【聪明的童鞋点赞了博主的文章】
>![在这里插入图片描述](https://img-blog.csdnimg.cn/d0394b7b01274bc2a018071b83f3231b.png)
>思考:如何在控制台输出下面的句子呢?【在 Java 中,被 <font color=blue>**""(双引号)**</font>引住的内容叫做字符串】
>![在这里插入图片描述](https://img-blog.csdnimg.cn/5c2ea000c10f41ffae1b5896e50722e5.png)
>在 Java 中,【<font color=blue>**"**</font>】具有特殊的含义,被它引住的内容都被称为字符串。除了【<font color=blue>**"**</font>】,在很多编程语言中还有【<font color=blue>**'**</font>】、【<font color=blue>**\\**</font>】也有特殊含义不能直接打印。
>若想打印这些特殊的字符,需要使用**转义字符**(转义字符:实际含义和原本含义不同)
## 2. 六个常见转义字符
下面罗列 Java 中的六个转义字符
### ① 【\t】
:maple_leaf: 【\t】:一个制表位(可实现简单对齐的功能)
```java
public class Hello {
public static void main(String[] args) {
System.out.println("马冬梅\t马翠花\t马保国\t马云\t马化腾");
System.out.println("点赞\t评论\t关注\t收藏\t开心");
System.out.println("苹果\t西瓜\t草莓\t奶牛\t葡萄");
}
}
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/206e96bd469d4f9aba80d298bc7c2598.png)
### ② 【\n】
:maple_leaf: 【\n】:换行符(打印一句话后换行继续打印)
```java
public class Hello {
public static void main(String[] args) {
// 虽然在代码里面换行了, 但在控制台打印出来依然是一行
System.out.println("一天晚上, 两个甲方, 三更半夜, 四处催稿, 只好周五加班到周六早上" +
"七点构思八点写完, 九点上床睡觉, 十分痛苦, 十点才过九分" +
"甲方八个微信, 七个电话, 居然有六处调整, 外加五个新要求" +
"四小时交三个方案, 两天只睡一个小时");
System.out.println("------------");
System.out.println("一天晚上, 两个甲方, 三更半夜, 四处催稿, 只好周五加班到周六早上\n" +
"七点构思八点写完, 九点上床睡觉, 十分痛苦, 十点才过九分\n" +
"甲方八个微信, 七个电话, 居然有六处调整, 外加五个新要求\n" +
"四小时交三个方案, 两天只睡一个小时\n");
}
}
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/593fb7dcc5b249a287832dbfdf37f71c.png)
### ③ 【\\\\】
:maple_leaf: 【\\\\】:表示一个【\】
```java
public class Hello {
public static void main(String[] args) {
// 错误:编译器会把【\i】、【\w】和【\l】解析为是转义字符
// 但实际上是不存在这几个转义字符的
// 所以会报 illegal escape character in string literal 错误
// System.out.println("D:\img\wallPaper\like.png");
// 两个【\】才表示一个【\】
System.out.println("D:\\img\\wallPaper\\like.png");
}
}
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/d02fdeed4bfd42879a5db088115d5ea9.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0b06361bb9684155a9f6ca347d39368e.png)
### ④ 【\"】
:maple_leaf: 【\"】:表示一个【"】
```java
public class Hello {
public static void main(String[] args) {
System.out.println("在 Java 中,被 \"\"(双引号)引住的内容叫做字符串");
}
}
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/f121fe82705e44b5aafae141759e58c4.png)
### ⑤ 【\'】
:maple_leaf: 【\"】:表示一个【"】
```java
public class Hello {
public static void main(String[] args) {
System.out.println("在 Java 中,被 \'\'(单引号)引住的一个字或字母叫做字符");
// 错误:Too many character in character literal
// 错误:字符常量中有太多字符
// System.out.println('单引号不能引多个字, 只能是一个字');
System.out.println('爱');
}
}
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/fd60361d2c0546de989037ce19e7b947.png)
### ⑥ 【\r】
:maple_leaf: 【\r】:输出位置在行首, 不换行
```java
public class Hello {
public static void main(String[] args) {
// 【/r】表示输入位置移动到行首, 不换行
// 所以, 最终【五福临门】和【十全十美】会覆盖前面输出的内容
System.out.println("一帆风顺\r双喜临门\r三阳开泰\r四季发财\r五福临门");
System.out.println("六六大顺\r七方来财\r八方金宝\r九九同心\r十全十美");
}
}
```
# 二、Java 中的注释
>顶尖程序设计师的心得:<font color=green>When you are writing code you’re writing as much for human readers as for the computer. If efficiency is important, I’ll often resort to a trick. And then I realize that will mislead a human. And **you have to comment** it or do something to flag that, to make it more readable. </font>
当你写**代码**的时候,你**写给机器看**,**同时也写给人看**。 如果效率很重要,我会用一些小技巧。 这些技巧会误导读代码的人,**你得加上注释**,或者类似的东西标注一下,**让它更可读**。
![在这里插入图片描述](https://img-blog.csdnimg.cn/96d3b37c83b640a8974d7742b0365de1.png)
`上面这段话来自《Coder at Work》这本书。这个书我并没有看过,是浏览 CSDN 副总裁的博客的时候看到的`
[CSDN 副总裁的文章:http://t.csdn.cn/oro6V](http://t.csdn.cn/oro6V)
## 1、注释是什么?
注释:解释说明的文字
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ed00bc927a64b65b57e291ee572260c.png)
## 2、注释的分类
### ① 单行注释【//】
单行注释只注释一行代码
```java
public class Hello {
public static void main(String[] args) {
// 注释是给人看的, 被注释的文字不会被 Java 虚拟机解释执行
// 优秀程序设计师都写注释, 但写注释的并不都是优秀程序设计师
// 我学不到优秀程序设计师的其他高级的地方, 但学习写注释还是可以
// 毕竟我和优秀程序设计师都有一个共同点, 我们都喜欢写注释
}
}
```
`个人习惯:单行注释的【//】后面会留一个空格(下图是 String 类的源码中的单行注释)`
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5dda68312de4d38b7278b6e27cf62db.png)
### ② 多行注释【/* */】
```java
public class Hello {
public static void main(String[] args) {
/*
注释可以让人理清思路, 可以让其他人看懂你的代码
记得以前刷了个视频, 视频内容是:
A:请问你写代码会写注释吗?
B:竟说废话, 我的代码, 我写了注释, 第二天都不一定看得懂, 还不写注释?
"注释是程序设计师的基本素养"
但注释写得太多也会让人很烦, 这就让我很纠结
*/
}
}
```
`多行注释里面嵌套多行注释会报错,也没有必要嵌套`
### ③ 文档注释【/** */】
#### a. 介绍和使用
文档注释可以被 JDK 提供的 javadoc 工具所解析,生成一套以网页文件形式体现的该程序的说明文档。
文档注释可写在类、方法、接口上,用于解释该类、方法或接口的作用
**注释内容不会被 JVM(Java 虚拟机)解释执行,只是会让代码源文件变大而已。**
```java
public class Hello {
public static void main(String[] args) {
addAndPrint(11, 22);
subAndPrint(66, 3);
}
/**
* 计算两个整数的和并打印
* @param a 第一个整数
* @param b 第二个整数
*/
public static void addAndPrint(int a, int b) {
System.out.println("a + b = " + (a + b));
}
/**
* 计算两个整数的差并打印
* @param a 第一个整数
* @param b 第二个整数
*/
public static void subAndPrint(int a, int b) {
System.out.println("a - b = " + (a - b));
}
}
```
#### b. IDEA 生成文档注释
![在这里插入图片描述](https://img-blog.csdnimg.cn/7267cd6d5e134d48861057486737da44.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b8a6b0475d964a4e9f39bf13236c6e94.png)
Locale: zh_CN
Other command line arguments: -encoding UTF-8 -charset UTF-8
点击 OK:
![在这里插入图片描述](https://img-blog.csdnimg.cn/4ad1d64678c84b9dbdd54fb964e6f57b.png)
文档会生成到你刚刚配置的路径下
#### c. 生成文档截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/8e4b9494bf1c43fda8dd0f934ccff6da.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd332894e7604f3085a377bd35363187.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/61a0a7f389f740c19b7feabafff05a15.png)
:palm_tree: <font color=red> bye-bye 请留一个点赞、评论或关注吧!</font>
- 点赞
- 收藏
- 关注作者
评论(0)