# 程序注释
注释是程序的重要部分,有经验的工程师都会随手写一些详细的注释,经过一段时间,当你回看你的代码时会发现,这些注释是多么亲切。
Java中的注释有三种:
//这是单行注释。
/* hello
world
*/
/**
@author 谢帅
@version v1.0
@param 方法的参数类型
@return 方法的返回类型
*/
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 标识符
Java中的标识符跟其他语言一样,由字母,数字,_,$组成,不能以数字开头,不能使用关键字,除此之外:
- 不要用数字后缀,命名尽量有意义。
- 其中$符号有特殊意义,尽量不要使用。
Java的版本变化:
- 在1.4中增加了assert关键字
- 在1.5中增加了enum
- 在1.10中增加了var关键字
- 从1.7开始增加了中文的支持,可以用中文定义变量,但是尽量不要使用
# 数据类型
Java中的数据类型分为基本数据类型与引用数据类型,基本数据类型是自动开辟内存,引用数据类型需要手动开辟内存。
# 基本数据类型
数据类型 | 位数 |
---|---|
byte | 8 |
short | 16 |
int | 32 |
long | 64 |
float | 32 |
double | 64 |
char | 16 |
boolean | - |
基本数据类型的选择经验:
- 整数如果较小则使用int,如果涉及描述日期时间数字,文件,内存大小使用long。
- 小数范围小的使用float,大的使用double。
- 实现内容传递(I/O操作,网络编程),或者编码转换时使用byte。
- 逻辑控制的使用boolean。
- 处理中文用char。
Java的版本变化:
- 在JDK1.4之前定义变量必须要赋值,到JDK1.5以后就不需要必须赋值。
- 在JDK1.10以后,Java出现了动态语言支持,支持var关键字。
# 类型转换
这里主要说一下常量的类型转换,变量之间使用显式转换即可:
(要转换的类型)变量名称 (int)Num
常量之间:
待转换类型 | 目标类型 | 转换方法 |
---|---|---|
int | long | 后缀L或l |
int | byte | 如果没有超出-128~127,自动转换,超出使用显式转换 |
float | double | Java中浮点型默认是double,如果给一个浮点型赋值小数,可加后缀f或F |
# 运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~(取反)、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>>(无符号右移位) | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^(异或) | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
# 短路与或
在一个test.java文件中:
public class test{
public static void main(String args[]){
System.out.println("短路:");
System.out.println(1 > 3 && 1 / 0 ==0);
System.out.println("正常:");
System.out.println(1 > 3 & 1 / 0 ==0);
System.out.println("短路:");
System.out.println(1 > 0 || 1 / 0 ==0);
System.out.println("正常:");
System.out.println(1 > 0 | 1 / 0 ==0);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
然后编译运行:
javac -encoding UTF-8 .\test.java java test