一、Java 转义字符(Escape Character)
1. 思考
在 Java 中,可以通过 System.out.println("聪明的童鞋点赞了博主的文章"); 向控制台输出句子:【聪明的童鞋点赞了博主的文章】
思考:如何在控制台输出下面的句子呢?【在 Java 中,被 ""(双引号)引住的内容叫做字符串】
在 Java 中,【"】具有特殊的含义,被它引住的内容都被称为字符串。除了【"】,在很多编程语言中还有【'】、【\】也有特殊含义不能直接打印。
若想打印这些特殊的字符,需要使用转义字符(转义字符:实际含义和原本含义不同)
2. 六个常见转义字符
下面罗列 Java 中的六个转义字符
① 【\t】
:maple_leaf: 【\t】:一个制表位(可实现简单对齐的功能)
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葡萄");
}
}
② 【\n】
:maple_leaf: 【\n】:换行符(打印一句话后换行继续打印)
public class Hello {
public static void main(String[] args) {
// 虽然在代码里面换行了, 但在控制台打印出来依然是一行
System.out.println("一天晚上, 两个甲方, 三更半夜, 四处催稿, 只好周五加班到周六早上" +
"七点构思八点写完, 九点上床睡觉, 十分痛苦, 十点才过九分" +
"甲方八个微信, 七个电话, 居然有六处调整, 外加五个新要求" +
"四小时交三个方案, 两天只睡一个小时");
System.out.println("------------");
System.out.println("一天晚上, 两个甲方, 三更半夜, 四处催稿, 只好周五加班到周六早上\n" +
"七点构思八点写完, 九点上床睡觉, 十分痛苦, 十点才过九分\n" +
"甲方八个微信, 七个电话, 居然有六处调整, 外加五个新要求\n" +
"四小时交三个方案, 两天只睡一个小时\n");
}
}
③ 【\\】
:maple_leaf: 【\\】:表示一个【\】
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");
}
}
④ 【\"】
:maple_leaf: 【\"】:表示一个【"】
public class Hello {
public static void main(String[] args) {
System.out.println("在 Java 中,被 \"\"(双引号)引住的内容叫做字符串");
}
}
⑤ 【\'】
:maple_leaf: 【\"】:表示一个【"】
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('爱');
}
}
⑥ 【\r】
:maple_leaf: 【\r】:输出位置在行首, 不换行
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 中的注释
顶尖程序设计师的心得: 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.
当你写 代码的时候,你 写给机器看, 同时也写给人看。 如果效率很重要,我会用一些小技巧。 这些技巧会误导读代码的人, 你得加上注释,或者类似的东西标注一下, 让它更可读。
上面这段话来自《Coder at Work》这本书。这个书我并没有看过,是浏览 CSDN 副总裁的博客的时候看到的
1、注释是什么?
注释:解释说明的文字
2、注释的分类
① 单行注释【//】
单行注释只注释一行代码
public class Hello {
public static void main(String[] args) {
// 注释是给人看的, 被注释的文字不会被 Java 虚拟机解释执行
// 优秀程序设计师都写注释, 但写注释的并不都是优秀程序设计师
// 我学不到优秀程序设计师的其他高级的地方, 但学习写注释还是可以
// 毕竟我和优秀程序设计师都有一个共同点, 我们都喜欢写注释
}
}
个人习惯:单行注释的【//】后面会留一个空格(下图是 String 类的源码中的单行注释)
② 多行注释【/ /】
public class Hello {
public static void main(String[] args) {
/*
注释可以让人理清思路, 可以让其他人看懂你的代码
记得以前刷了个视频, 视频内容是:
A:请问你写代码会写注释吗?
B:竟说废话, 我的代码, 我写了注释, 第二天都不一定看得懂, 还不写注释?
"注释是程序设计师的基本素养"
但注释写得太多也会让人很烦, 这就让我很纠结
*/
}
}
多行注释里面嵌套多行注释会报错,也没有必要嵌套
③ 文档注释【/* /】
a. 介绍和使用
文档注释可以被 JDK 提供的 javadoc 工具所解析,生成一套以网页文件形式体现的该程序的说明文档。
文档注释可写在类、方法、接口上,用于解释该类、方法或接口的作用
注释内容不会被 JVM(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 生成文档注释
Locale: zh_CN
Other command line arguments: -encoding UTF-8 -charset UTF-8
点击 OK:
文档会生成到你刚刚配置的路径下
c. 生成文档截图
如有错误,请不吝赐教,很开心来到阿里博客平台!