当在try中出现异常时,如果存在catch,会先被catch捕获,否则会执行到finally。异常发生时肯定会执行finally,除非在try的末尾有强制中止代码:System.exit(0);
与抽象类相比,接口性能较慢。一个类只能扩展一个抽象类,却能实现许多接口,随着接口在类中的实现,也会给开发人员带来额外负担。
使用Math.random()可以生成0.1到1.0范围内的随机数字,然后通过数学方法实现生成符合要求的随机数。
float是单精度浮点数,内存中占用4字节,double是双精度浮点数,内存中占用8字节。
无限循环是指无条件执行,无限运行。无限循环可以由定义中断语句块来结束。
break:跳出上一层循环,结束当前循环continue:跳出本次循环,继续执行下次循环return:程序返回,不在执行下面代码
1.创建独立于具体对象的域变量或者方法,以至于即使没有创建对象,也能使用属性和调用方法2.形成静态代码以优化程序性能,类初次加载时,会按照static的顺序来执行每个static块,并且只会执行一次。因此将只需要进行一次的初始化操作都放在static代码块中进行
可以用于修饰类(不可被继承),方法(不可被重写),属性(不可被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,因此引用指向的内容可以被改变)
&:按位与或者逻辑与&&:短路与运算,&&之所以称为短路运算,是因为如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算逻辑或|和短路||的区别也类似
不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换floatf=(float)3.4;或者写成floatf=3.4F;