记录写零碎获得的知识点(不断补充)
2017-09-06 20:47
232 查看
*1.java为什么不支持泛型数组?
但因为Java泛型是用擦除(Erasure)实现的,运行时类型参数会被擦掉。
*2.
初始化过程(静态>普通成员初始化/代码块>构造方法):
1. 初始化父类中的静态成员变量和静态代码块 ;
2. 初始化子类中的静态成员变量和静态代码块 ;
3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;
*3
floor : 意为地板,指向下取整,返回不大于它的最大整数
ceil : 意为天花板,指向上取整,返回不小于它的最小整数
round : 意为大约,表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。
*4
表达式的数据类型自动提升, 关于类型的自动提升,注意下面的规则。
①所有的byte,short,char型的值将被提升为int型;
②如果有一个操作数是long型,计算结果是long型;
③如果有一个操作数是float型,计算结果是float型;
④如果有一个操作数是double型,计算结果是double型;
b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。
被final修饰的变量是常量,会被JVM优化,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
根本的原因是:数组在创建的时候必须知道内部元素的类型,而且一直都会记得这个类型信息,每次往数组里添加元素,都会做类型检查。
但因为Java泛型是用擦除(Erasure)实现的,运行时类型参数会被擦掉。*2.
初始化过程(静态>普通成员初始化/代码块>构造方法):
1. 初始化父类中的静态成员变量和静态代码块 ;
2. 初始化子类中的静态成员变量和静态代码块 ;
3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;
*3
floor : 意为地板,指向下取整,返回不大于它的最大整数
ceil : 意为天花板,指向上取整,返回不小于它的最小整数
round : 意为大约,表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。
*4
表达式的数据类型自动提升, 关于类型的自动提升,注意下面的规则。
①所有的byte,short,char型的值将被提升为int型;
②如果有一个操作数是long型,计算结果是long型;
③如果有一个操作数是float型,计算结果是float型;
④如果有一个操作数是double型,计算结果是double型;
b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。
被final修饰的变量是常量,会被JVM优化,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
相关文章推荐
- 11、网页制作Dreamweaver(补充:JS零碎知识点&&正则表达式)
- 零碎的前端知识点(为方便记录,每次更新都在最上面)
- c/c++一些容易遗忘的知识点(不断补充)
- Unity零碎知识点记录1
- 零碎知识点随意记录
- Python中零碎知识点记录
- vim一些自己常用到的知识点,不断补充。。
- Python 零碎知识点记录
- C/C++零碎知识点整理(不断更新)
- 机器学习面试知识点总结(不断补充中)
- cakephp菜鸟笔记-零碎重要提示(不断补充)
- 工作中记录的命令和知识点(不断更新)
- qt零碎知识点记录
- 笔记 C语言零碎知识点记录
- 记录一些学习到的零碎的知识点。
- 零碎小知识点记录
- 在这里记录自己学习中遇到的零碎的容易忽略的知识点,不定时总结更新
- 机器学习面试知识点总结(不断补充中)
- OpenGL零碎知识点记录<仅供自己查看>
- 【记录】做网站需要的零碎的知识点。