1、计算级等级考试二级 JAVA 试题+2017 年及答案解析(总分:60.00,做题时间:50 分钟)一、选择题(总题数:30,分数:60.00)1.顺序存储结构( )。(分数:2.00)A.仅适合于静态查找表的存储B.仅适合于动态查找表的存储C.既适合静态又适合动态查找表的存储D.既不适合静态又不适合动态查找表的存储2.下列属于合法的 Java 标识符的是( )。(分数:2.00)A._catB.5booksC.+staticD.-3.141593.在使用 interface 声明一个接口时,只可以使用( )修饰符修饰该接口。(分数:2.00)A.privateB.protectedC.pri
2、vateprotectedD.public4.下列选项中,不属于模块间耦合的是( )。(分数:2.00)A.数据耦合B.标记耦合C.异构耦合D.公共耦合5.若变量 a 是 Stri ng 类型的数据,那么表达式(a a)的类型是( )。(分数:2.00)A.charB.StringC.intD.long6.下列运算结果为 1 的是( )。(分数:2.00)A.81B.42C.81D.427.注释的基本原则不包括( ).(分数:2.00)A.注释应该增加代码的清晰度B.注释要简洁C.在写代码之前写注释D.尽量给每一条语句加注释8.下列关于 for 循环和 while 循环的说法中哪个是正确的?(
3、分数:2.00)A.while 循环能实现的操作,for 循环都能实现B.while 循环判断条件一般是程序结果,for 循环判断条件一般是非程序结果C.两种循环在任何情况下都可以相互转换D.两种循环结构中都必须有循环体,循环体不能为空9. 设 a8,则表达式 a2 的值是( )。 (分数:2.00)A.1B.2C.3D.410.在编写 Java 程序的时候,如果不为类的成员变量定义初始值,Java 会给它们设置默认值,下列说法中不正确的是( )。(分数:2.00)A.Byte 的默认值是 0B.int 的默认值是 0C.long 的默认值是 0.0LD.float 的默认值是 0.0f11.
4、下列代码中,将引起一个编译错误的行是( )。 1)publicclassTest2)intm,n;3)publicTest()4)publicTest(inta)m=a;5)publicstaticvoidmain(Stringargs)6)Testt1,t2;7)intj,k;8)j=0;k=0;9)t1=newTest();10)t2=newTest(j,k);11)12)(分数:2.00)A.第 3 行B.第 5 行C.第 6 行D.第 10 行12.若某线性表中最常用的操作是取第 I 个元素和找第 I 个元素的前趋元素,则采用( )存储方式最节省时间。(分数:2.00)A.顺序表B.单
5、链表C.双链表D.单循环链表13.下列属于正则表达式的是( )。(分数:2.00)A.一个数组B.一组二进制数据C.一个字符串D.一个公式14.以下选项中循环结构合法的是( )。(分数:2.00)A.while (int i计算级等级考试二级 JAVA 试题+2017 年答案解析(总分:60.00,做题时间:50 分钟)一、选择题(总题数:30,分数:60.00)1.顺序存储结构( )。(分数:2.00)A.仅适合于静态查找表的存储B.仅适合于动态查找表的存储C.既适合静态又适合动态查找表的存储 D.既不适合静态又不适合动态查找表的存储解析:2.下列属于合法的 Java 标识符的是( )。(分
6、数:2.00)A._cat B.5booksC.+staticD.-3.14159解析:本题考查 Java 标识符的命名规则,是考试的重点内容。Java 中标识符的命名规 则是标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标 识符的字符数没有限制。由此可见,Java 中标识符不能以数字开头,所以选项 B 错误,不能以 “+”开头,选项 C 错误,不能以“-”开头,选项 D 错误,只有选项 A 是正确答案。3.在使用 interface 声明一个接口时,只可以使用( )修饰符修饰该接口。(分数:2.00)A.privateB.protectedC.privatepro
7、tectedD.public 解析:4.下列选项中,不属于模块间耦合的是( )。(分数:2.00)A.数据耦合B.标记耦合C.异构耦合 D.公共耦合解析:模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。 按照耦合程度从弱到强,可以将其分成 7 级,分别是非直接耦合、数据耦合、标记耦合、控制 耦合、外部耦合、公共耦合和内容耦合。其中没有异构耦合这种方式。5.若变量 a 是 Stri ng 类型的数据,那么表达式(a a)的类型是( )。(分数:2.00)A.charB.String C.intD.long解析:Java 中允许两个 Stri ng 类型进行运算,其结果仍旧是
8、Stri ng 类型。6.下列运算结果为 1 的是( )。(分数:2.00)A.81B.42 C.81D.42解析:是按位右移运算符,是按位左移运算符,是添零右移运算符,没有运算符。7.注释的基本原则不包括( ).(分数:2.00)A.注释应该增加代码的清晰度B.注释要简洁C.在写代码之前写注释D.尽量给每一条语句加注释 解析:8.下列关于 for 循环和 while 循环的说法中哪个是正确的?(分数:2.00)A.while 循环能实现的操作,for 循环都能实现B.while 循环判断条件一般是程序结果,for 循环判断条件一般是非程序结果C.两种循环在任何情况下都可以相互转换D.两种循环
9、结构中都必须有循环体,循环体不能为空 解析:9. 设 a8,则表达式 a2 的值是( )。 (分数:2.00)A.1B.2C.3D.4解析: 本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移运算符用于将一个数的各二进制位全部无符号右移若干位,与运算符不同的是左补 0。在本题中,8 的二进制表示1000,右移两位后变成了 0010,对应的十进制数是 2。 10.在编写 Java 程序的时候,如果不为类的成员变量定义初始值,Java 会给它们设置默认值,下列说法中不正确的是( )。(分数:2.00)A.Byte 的默认值是 0B.int 的默认值是 0C.long 的默认值是 0.0L
10、D.float 的默认值是 0.0f解析:Long 类型的默认值为 0L,而不是 0.0L。11.下列代码中,将引起一个编译错误的行是( )。 1)publicclassTest2)intm,n;3)publicTest()4)publicTest(inta)m=a;5)publicstaticvoidmain(Stringargs)6)Testt1,t2;7)intj,k;8)j=0;k=0;9)t1=newTest();10)t2=newTest(j,k);11)12)(分数:2.00)A.第 3 行B.第 5 行C.第 6 行D.第 10 行 解析:12.若某线性表中最常用的操作是取第 I 个元素和找第 I 个元素的前趋元素,则采用( )存储方式最节省时间。(分数:2.00)A.顺序表 B.单链表C.双链表D.单循环链表解析:13.下列属于正则表达式的是( )。(分数:2.00)A.一个数组B.一组二进制数据C.一个字符串 D.一个公式解析:14.以下选项中循环结构合法的是( )。(分数:2.00)A.while (int i