java的错题整理

 

为了阅读方便,我们写代码时要缩进,以便于更好的理解代码

对象是是具有相同属性和共同行为的一组类的实例,不是集合。

 

B是标准格式,D没有对象接收它,所以这样子。

 boolean的默认值是false如果一直是false的话,程序会一直运行陷入无限循环

2不能被3整除,所以余2。2*4=8,8%3=2,所以选择A

static并不是java中的关键字。

int类型变量param的初始值是2,与switch语句的“case 2”分支匹配,执行position="兄弟";语句和break语句。最后输出position的值是“兄弟”

b中不对,数组中只能放同一类型的数据;
D中不对,通过length获得数组长度,应该是arr[arr.length -1 ]

“==”用于比较两个对象是否是同一个地址,如果是,则返回true,否则返回false。new A()==new A()中,“==”两边使用new关键字各创建了一个对象,在内存中分别开辟空间,属于不同的地址,因此表达式结果为false。应选择B。

Arrays.sort()导入的包应该是import java.util.*;

在类的一个方法中可以直接使用方法名引用该类中的其它方法,因此B说法错误。

调用别的类定义的方法时,如果方法是静态方法(静态方法是使用公共内存空间的,所有对象可以直接调用,不需要创建对象再使用该方法),

不需要先创建类的实例,因此C说法不准确。

想要使用concat必须先给every声明是变量。

如果·没有等号就是5次,有了等号就是6次了

提取字符串开始是从0开始提取,结束是从1开始提取所以答案是B。

 

 

str为局部变量,在change函数中作为参数传入,虽然在函数内部做出了修改,变成了"test<<>>",

但是在函数结束前并没有作为返回值返回,因此离开函数后str的值不会修改,输出结果为c

do-while循环两次,每次循环中,for循环输出一次,且每次for循环变量j重新被初始化,所以两次for循环输出内容一致。

该题目中,在while(count<3)后面加了分号,代表循环结束,循环条件count<3满足,因此是死循环。

System.out.println()中打印的是method1的返回值,method1的返回值当然是num++,即6了。

 这里的bb.equals(aa)只是比较了他们是否为同一个对象.

 

 

本题考察静态变量及静态块,这部分内容在类加载时完成,因此通过第一个静态块x变为15,再通过第二个静态块x变为5。然后执行main(),

此时x已经在类加载时变成了5。请注意,静态块都是在类加载时完成,多个静态块根据先后顺序执行。因此正确答案为C

 

本题考察if语句及i++和++i,i++是先赋值后+1,++i是先+1再赋值,所以本题选择B

 

 

此题考查的是对象的方法。java类中的方法必须定义在类中,由4部分组成,方法名称,参数,返回类型,

方法体和访问修饰符,类之间方法可以相互调用,方法调用时形参和实参必须要一致。因此答案为D。

一共进入3次循序,每次循环i值加2,当循环结束时i值为7。

 

posted @ 2017-08-25 16:21  舞凍  Views(167)  Comments(0Edit  收藏  举报