2、Java 转义字符和注释的使用

举报
yd_244481122 发表于 2022/10/31 09:53:04 2022/10/31
【摘要】 @[TOC](文章目录)# 一、Java 转义字符(Escape Character)## 1. 思考>在 Java 中,可以通过 <font color=green>System.out.println("聪明的童鞋点赞了博主的文章");</font> 向控制台输出句子:【聪明的童鞋点赞了博主的文章】>![在这里插入图片描述](https://img-blog.csdnimg.cn/d03...



@[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>

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。