26、空字符串("")和null的区别? 答:空字符串是 String类的一个对象,
而null是指一个引用变量没有引用对象,在值为null的引用变量上调用方法或变量,
将会导致 NullPointerException。通过以下代码来验证变量x是否为null,
x == null,通过"".equals(x)来验证x是否为空字符串。
25、静态变量和实例变量的区别?
答:静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。
实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。
24、当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?
答:对。但是在Java中建议,当x.equals(y)等于true时,x.hashCode()与y.hashCode()也相等。
23、列举几个常见的RuntimeException的子类?
答 : ArithmeticException 、 NullPointerException 、 IndexOutOfBoundsException、
ClassCastException、ArrayStoreException
22、Java有没有goto?
答:Java没有使用goto关键字,但它是Java的保留字。
21、在Java中char类型的变量占用几个字节?char类型的变量能不能存储一个中文汉字?
答:在Java中char类型的变量占用2个字节,char类型变量采用Unicode编码。可以存储一个汉字,
但不是所有的汉字都能存储,你想想,汉字至少10万个,而Unicode占用两个字节,最多能存储6万多个。
20、有如下代码: try { 代码1 return 1; }finally{ 代码2 return 2; }
问,代码2是否会被执行?若会被执行,是try里的return语句先执行还是finally里的代码先执行?
最后该代码片段的返回值是1还是2?
答:代码2会被执行,因为finally里的代码总会被执行。 finally里的代码会在return 1;之后被执行。
既然finally里的代码会在return 1;之后被执行,所以return 2;覆盖return 1;返回2。
19、有如下方法的定义: public static int getNumber(int a)
{ int b = 0; try { b = 10/a; return b; }
catch (Exception ex) { b = 100;
return b; }finally{ b = 1000; return b; } }
在main方法中调用以上方法,
如下: System.out.println(getNumber(10));
System.out.println(getNumber(0)); 结果是多少?
答:1000 和 1000 。 18、有如下方法的定义:
public static int getNumber(int a)
{ int b = 0; try { b = 10/a; return b; }
catch (Exception ex) { b = 100; return b; } }
在main方法中调用以上方法,如下: System.out.println(getNumber(10));
System.out.println(getNumber(0)); 结果是多少?
答:1 和 100 。
17、用最有效率的方法算出2乘以8等於几? |