1.switch 语句能否作用在byte上,能否作用在long上,能否在String上?
答案:能作用在byte上,不能作用在long和String上。
2.请列举Java基本数据类型
答案:byte、short、int、long、char、double、float、boolean;
3.true和false是关键字吗?
答案:true,false,null不是严格意义上的关键字,而是文字常量(literals);
4.float f = 3.4是否正确?//单精度浮点数。默认为double(双精度浮点数).
答案:不正确。精度不准确,应该用强制类型转换,如下所示:float = (float)3.4;
5.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,
什么时候执行,在return前还是后?
答案:会执行,在return前执行。
6.error和Exception有什么区别?
答案:error表示恢复不是不可能但很困难的情况下的一种严重的问题。比如说内存溢出等情况。
我们一般不会处理。
Exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
7.java中异常处理机制的简单原理和应用?
答案:Java程序违反了Java的语义规则时,java虚拟机就会将发生的错误表示为一个异常。
违反语义规包括2种情况:
一种是Java类库内置的语义检查。例如:数组下标越界,会发生IndexOutOfBoundsException;
访问null的对象会引发NullPointerException.另一种情况就是java允许程序员扩展这种
语义检查,程序员可以创建自己的异常,并自由选择在何时用Throw关键字引发异常。所有
的异常都是java.lang.Throwable的子类。
8.谈谈final.finally.finalize的区别?
答案:final是修饰符(关键字)
final关键字可以修饰类,变量和方法
如果一个类声明为final.说明该类是最终类,不能派生新的子类,也不能做为父类被继承。
一个实例类一般不用abstract final修饰。
将变量和方法声明为final,可保障该变量和方法不被改变。
被声明为final的变量在使用时必须赋值作为初始值。其值不可改变。
被声明为final的方法不能被重载或重写。
finally是在异常处理时提供finally方法块来执行任何清除操作;
finalize是方法名是在JVM垃圾收集器前被调用的。
9.什么时候使用assert?
答案:assert通常在开发和测试时使用。
|
|