记录on java 8 这本书的一些没有留意的知识点
第四章 运算符
把double或float取整,强制转换时,会只保留整数,而不四舍五入;如有需要要用Math方法
double above = 0.7;
double below = 0.4;
System.out.println((long) above); //0
System.out.println((long) below); //0
System.out.println(Math.round(above)); //1
System.out.println(Math.round(below)); //0
- double强制转换最好用long,都是8个字节;
- 小于int的基本数据类型在执行算术运算时,值会被自动提升为int;
- 通常,表达式中结果表达式的类型由最大的数据类型决定,float和double相乘,结果为double。
第五章 控制流
switch的选择因子必须是int或者char,1.7之后才加入了String,否则不工作
switch(c){
case: 'd':
//
}
- c就是选择因子,在case语句中,使用单引号的字符会变为用于比较的整数值
- 另外有个点容易忽略,字符串拼接是自动转String是在System.out.println()才有用,如一个int+char
int a = b+'a';
b为int,a会对应转为int类型,是因为小的数据类型会转为大的,不要忽略了。
第七章
-
子类继承父类时,会继承所有非私有方法、属性(如果父类子类在同一个包里,那么没有修饰符的方法属性也可以继承)。
-
同时在创建子类对象时,会自顶向下调用父类构造函数,但并没有创建父类对象。