1、代码未动,注释先行
注释定义:程序中的注释,用来说明某段代码的作用,或者说明某个类的用途、某个属性的含义、某个方法 的功能,方法参数和返回值的数据类型、意义等。
意义:注释可以增强代码的可读性,让自己或者他人快速的理解代码含义和设计思路,同时可以便于后期的对 系统中代码的维护和迭代升级等。
可行性:Java源码代码中的注释,不会出现在字节码文件中,因为在编译的时候,编译器会忽略掉源代码中的注 释部分。因此,可以在源代码中根据需要添加任意多的注释,而不必担心字节码文件会膨胀。
注释类型:
-
单行注释://单行注释最常用
-
多行注释:/* 多行注释 */ 不能嵌套
-
文档注释:/* * 文档注释*/ 生成API文档,单行多行注释也可以生成API文档但是没有描述
Javadoc标记:
@author:作者 @version:版本 @deprecated:不推荐使用的方法、过时的方法。 @param:方法的参数类型。 @return:方法的返回类型。 @see:用于指定参考的内容。 @exception:抛出的异常。 @throws:抛出的异常,和exception同义
生成API文档命令:
-
使用javadoc命令,根据Comment03中的文档注释和标记,生成API说明文档,并将生成的文档存放在API 目录中:
javadoc -d api src/Comment03.java
-
如果要显示作者和版本的话,需要加上-author和-version选项,前提是代码中使用@author @version 俩 个标记
javadoc -d api -author -version src/Comment03.java
-
在是Windows中,如果出现了中文乱码,可以加入-encoding UTF-8
javadoc -d api -author -version -encoding UTF-8 src/Comment03.java
-
把src下面的多个java文件都生成对应的doc文件
javadoc -d api -author -version src/*.java
-
这样可以把src下面com包下面所有的子包里 面存放的java文件全都查找到并生成对应的doc文档
javadoc -d api -sourcepath src -subpackages com -author -version
-sourcepath 指定源代码存放的位置
-subpackages 指定要递归查找的包的名字
-
2、标识符
主规则:
- 标示符可以由字母、数字、下划线_ 、美元符号$组成
- 标示符开头不能是数字
- 标示符不能使用java中的关键字或保留字
推荐规则:
- (大驼峰)类和接口,首字母大写,如果是俩个单词,第二个单词的首字母大写
- (小驼峰)方法和变量,首字母小写,如果是俩个单词,第二个单词的首字母大写
- 常量,全部字母大写,如果是俩个单词,使用下划线分隔
关键字:
注意,const 和 goto 是java中的保留字
注意,true 和 false 不是关键字,是boolean类型的字面值,但是也不能直接使用true和false来做标 示符
3、八大基本类型解析(基础中基础)
java中有八种基本数据类型,它们是java语言中,可以表示出来的最基本数据的结构。
1.整型:
byte,short, int和long都是整数类型,并且都是有符号整数(正负)
在Java语言中,为了区分不同进制的数据,八进制数以“0”开头,十六制以“0x”开头,二进制以“0b”开头
整数类型的默认类型是int,对于给出一个字面值是99的数据,在没有指明这个数据是什么具体的类型的情 况下,那么java默认认为是int类型。
注意,java中,正数取反在加1,就是对应的负数,负数取反再加1,就是对应的正数
//编译通过
//按字面值计算即127没有超过byte范围
//固定字面值可自动转换类型,变量不能
byte e = 0b01111111;
//编译错误
//原因:32位的数据赋值给byte类型的变量
//因为使用的1这些都是字面值,默认是int
//所以它默认是在前面补了24个0
byte w = 0b11111111;
System.out.println(e);
2.浮点型:
- 浮点型的默认类型是double,对于给出一个字面值是10.5的数据,在没有指明这个数据是什么具体的类型的 情况下,那么java中默认认为是double类型。
- float和double都是java中的浮点型,浮点型可以用来表示小数,它们的二进制表示方式和整型不同
- float的精度为7位左右有效数字
- double的精度为16位左右有效数字
- Java中的浮点数类型float和double不能够进行精确运算
保证运算精度:BigDecimal类
//add方法 +
//subtract方法 -
//multiply方法 *
//divide方法 /
BigDecimal d1 = BigDecimal.valueOf(1.0);
BigDecimal d2 = BigDecimal.valueOf(0.66);
double result = d1.subtract(d2).doubleValue();
System.out.println(result);
//输出结果:0.34
3.char类型:
//使用具体字符来表示a
char c = 'a';
//使用Unicode编码值表示字符a
char c = '\u0061';
//0x开头的数字位十六进制,使用十六进制表示字符a
char c = 0x0061;
//使用十进制数字表示字符a
char c = 97;
//0开头的数字为八进制,使用八进制表示字符a
char c = 0141;
//注意:一个中文汉字就是一个字符
char c = '中';
3.1 常见编码
Windows中,命令窗口默认使用编码是GBK(中文版Windows)
Linux中,命令窗口默认使用编码是UTF-8
- ASCII 主用于表达现代英语和其他西欧语言中的字符。单字节编码系统,它只用一个字节的7位,一 共表示128个字符。
- ISO-8859-1 又称为Latin-1, 是国际标准化组织(ISO)为西欧语言中的字符制定的编码,用一个字节(8位) 来为字符编码,与ASCII字符编码兼容。一共收录了7445个字符(6763个汉字+682个其他字符). 它与ASCII字符 编码兼容。
- GBK 对GB2312字符编码的扩展,收录了21886个字符(21003个字符+其它字符), 它与GB2312字符编码兼 容。
- Unicode 由国际Unicode协会编制,跨平台的字符编码。 Unicode具有两种编码方案: 用2个字节(16位)编码,被称为UCS-2, Java语言采用; 用4个字节(32位)编码,被称为UCS-4;
- UTF 有些操作系统不完全支持16位或32位的Unicode编码,把Unicode编码转换为操作系统支持的编码,常见的UTF字符编码包括UTF-8、UTF-16、UTF-32。
- UTF-8,使用一至四个字节为每个字符编码,其中大部分汉字采用三个字节编码,少量不常用 汉字采用四个字节编码。因为 UTF-8 是可变长度的编码方式,相对于 Unicode 编码可以减少 存储占用的空间,所以被广泛使用。
- UTF-16,使用二或四个字节为每个字符编码,其中大部分汉字采用两个字节编码,少量不常 用汉字采用四个字节编码。
- UTF-32,使用四个字节为每个字符编码,使得 UTF-32 占用空间通常会是其它编码的二到四 倍。
编码转换过程:中文——>utf-8即Unicode编码——>字节码——>JVM——>中文
3.2 转义字符
常用转义字符 | 常用转义字符 |
---|---|
\n | 换行符,将光标定位到下一行的开头 |
\r | 回车,把光标移动到行首(和环境有关) |
\t | 垂直制表符,将光标移到下一个制表符的位置 |
\\ | 反斜杠字符 |
\’ | 单引号字符 |
\" | 双引号字符 |