使用Java理解程序逻辑错题

此题考查java带参方法的定义及调用。java方法的参数可以任意类型、任意个,返回值不限,返回的类型必须一致,形参和实参的类型必须一致。

因此此题正确答案为D

试题分析

创建一个对象的语法为: 类名 对象名=new 类名();,因此正确答案为BD

 

 

A.数组下标是从“0”开始,记住这点。

B.数组元素类型一定要相同,做作业时候就知道了。

C.做作业时候就知道了

D.是length,没有括号

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

 new创建的实例对象地址不符,所以为false

书上的格式是自上而下,也就是自顶向下,可能猛地一下会把A看成自上而下所以选错。

千万要注意A是自下而上不是自上而下!(眼斜了)

 

 while循环是先判断在执行,循环条件是num<5,num的初始值为0,当num为4的时候执行+1,这个时候num为5,结束循环,num=5.

Continue语句作用为结束本次循环,进入下次循环。当num为3提前进入下次循环,跳过循环体后面代码。

正确答案是BC。在类的一个方法中可以直接使用方法名引用该类中的其它方法,因此B说法错误。调用别的类定义的方法时,如果方法是静态方法,不需要先创建类的实例,因此C说法不准确。

并不是所有的方法都必须有方法体(抽象方法不需要方法体),所有D说法不正确。

此题考查java带参方法的定义及调用。java方法的参数可以任意类型、任意个,返回值不限,返回的类型必须一致,形参和实参的类型必须一致。

因此此题正确答案为D

getId方法为私有,不能在其他类中进行访问;
局部变量num使用前没有进行初始化赋值;

这道题比较有迷糊性,初看上去还以为考的是基本类型作为参数传递,但实际上考的是学员的细心程度,因为System.out.println()中打印的是method1的返回值,method1的返回值当然是num++,即6了。

 

 

 正确答案为C。此题考察嵌套循环,外层i=0,内层循环j=1,1<0不成立,不执行;外层i=1,内层循环仍然条件不成立;外层i=2,内层循环j=1,1<2成立,循环一次输出21,之后j++,条件不成立,内层循环结束,同时,外层循环也结束。

 

 

本题考察静态变量及静态块,这部分内容在类加载时完成,因此通过第一个静态块x变为15,再通过第二个静态块x变为5。然后执行main(),此时x已经在类加载时变成了5。请注意,静态块都是在类加载时完成,多个静态块根据先后顺序执行。因此正确答案为C

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

    

 

posted @ 2017-08-25 20:02  小白装大神  阅读(714)  评论(0编辑  收藏  举报