一、标识符
1、java对包、类、接口、方法、变量、常量(不包括项目名)等命名时使用的字符序列称为标识符。
2、标识符命名规范:
①由字母、数字、下划线(——)“$” 组成,首字母不能是数字。
②标识符不能与关键字重名。
③标识符没有长度限制。
④标识符对大小写敏感。
⑤标识符要见名知义。
3、注意事项
- 类、接口、方法、变量名采用驼峰命名法。
- 包名一律小写。
- 常量名一律大写,并且有多个字母组成的话要以下划线分割。
- 类名首字母大写。
二、关键字
- const和goto也是关键字,标识符命名不用他俩。
- friendly不是关键字。
三、数据类型
1、基本数据类型:
byte short char int long float double boolean
boolean类型占用的字节数不确定。
2、引用数据类型:类、数组、接口、枚举、注解
3、注意事项
- 在对float类型赋值时,必须在数字后面加f或者F。
- jdk7新特性:支持0b开头的二进制值、和形如1_000这种。
4、自动类型转换:
byte——short/char——int—— long——float——double
5、强制类型转换有可能会出现精度溢出
6、变量与常量
- static修饰的全局常量可以在声明时不初始化,但是给其赋值时必须在静态代码块中。
- 非static修饰的全局常量也可以在声明时不初始化,但是给其赋值时必须在非静态代码块或构造方法中进行。
7、补码
- 正数:源码、反码和补码都相同。
- 负数:补码 = 反码(符号位保持不变) + 1 。
8、逻辑运算和位运算
- 逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。
- 逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
9、运算符优先级
- 如果不使用(),就按照优先级次序进行计算。
- 同一优先级按照从左到右的顺序进行计算(除了右结合运算符)。
- int a=1,b=2,c=3; a+=b+=c; 编译通过 等效于 a+=(b+=c);
- int a=1,b=2; int c= a+b+=10; 编译出错。
10、下面代码运行结果为0 why?
int x=0;
for(int i=0;i<100;i++) {
x=x++;
}
System.out.println(x);