JAVA基础错题集

错题集

4 A->D

 

纯粹的眼花,没什么好解释的这道题,考的就是switch的中case运行机制,没有break就会一直往下跑

 

25 B->D

 

 

 

考察了nextLine() 和 next() 的差别。

 

nextLine()会读取空白符,因此输入回车会被读进去。next() 会自动无视空白符输入

 

 

答案就为D

35 A->B

 

考的是?:三元运算的嵌套 ,之前我看到时候是这样看的

 

但其实是这样的:

 

52 A->C

 

考察了接口的定义,接口中的方法都是抽象方法,抽象方法没有方法体,不写出大括号 ,故选c

63 A->C

这里数组并没有开辟真正的内存空间,所以会抛出空指针异常,如果是 int[][]arr = new int[10][10] 这样的就不会抛出异常,而是输出0;

79 D->E

子类在重写父类方法时,返回类型不一致,编译不通过

81 C->D

if语句的考察,注意数值范围,并没有能够输出text2的数。如果选C,那么在第一句就会被截住。

86 A->C

 

 

 

考察了初始化的4个过程,成员变量默认初始化,声明时初始化,构造块初始化,构造器初始化。这里比较特殊的是,静态成员变量是自身对象,如果没有声明static,那么会递归调用并抛出异常。

static对象看作和static块是平级的,那么t1并不会调用static块

100 B->D

没有显示指定父类构造起的时候会默认调用无参构造器,但是父类只声明了一个带参构造器,所以编译失败。

113 A->B

 

 

没什么好说的,看仔细些就可以了。

118 C->A

 

 

对于按位或不存在短路现象,k加两次,故选择A

144 A->D

 

 

append()方法是StringBuffer的。String不支持这种方法

146 B->D

考察数据初始化,对于类的成员变量,都是有默认初始化值的。但局部变量是没有默认初始化的,所以会编译报错。注意的是:数组开辟内存空间后是有默认初始化的。

 

 

 

原文地址:https://www.cnblogs.com/shinji/p/12563334.html