Java基础一些与C/C++不同的细节
1.注释
- 单行注释,//
- 多行注释,/**/
- 文档注释:以/**开头,以*/结尾,是C/C++中所没有的,后期可通过文档注释自动生成API
2.标识符规则
标识符命名规则简单,但是命名风格更重要,我使用阿里巴巴开发手册色命名风格,主要贴出变量名,类名和方法名的命名风格
3.成员变量
方法外部,类内部定义的变量,从属对象,生命周期伴随对象始终,如果不初始化,会自动初始化为该类型默认初始值。(不同于c++中的成员变量,不会默认初始值)
boolean:false
byte:0
short:0
char: (默认值为“空字符”,也就是‘\u0000’,数值为0)
int:0
long:0
float:0.0
double:0.0
String:null
String[]:null
4.常量:Java常量用关键字final来定义(C++中用const定义,Java中没有宏)
5.基本数据类型及其占用内存大小
与C/C++区别主要有1.将int与short字节固定下来,不同于C++中比较动态的选择
2.char是2字节(c++1字节)与boolean是1位
3.不可以用非0或0的整数来替代true和false
6.二元运算符规则
整数:
- 如果两个操作数中有一个为long,结果为long
- 没用long时,结果为int,即使操作数全为short,byte结果也是int
浮点数:
- 如果两个操作数有一个是double,则结果为double
- 只有两个操作数都是float,结果为float
7.取模运算
规定:“余数”的符号与左边操作数相同
8.&和|运算符
如果两侧操作数都是boolean类型,就作为逻辑运算符
如果两侧操作数都是整数类型,就是位运算符
9.自动类型转换
黑色线表示数据无数据丢失的自动类型转换,而红色线表示在转换时有可能会有精度的损失
10.可以使用带标签的break和continue
11.重载