JAVA二级考试练习题(一)一、选择题(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG(2)树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少2(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是bA)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序(4)在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分(6)下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析(7)下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境(8)单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式(9)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(10)SQL语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言(11)下列哪个选项是合法的标识符?A)123B)_nameC)classD)1first(12)下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?A)java.exeB)javadoc.exeC)jdb.exeD)javaprof.exe(13)下列的哪个选项可以正确用以表示八进制值8?A)0x8B)0x10C)08D)010(14)下列的哪个赋值语句是不正确的?A)floatf=11.1;B)doubled=5.3E12;C)floatd=3.14f;D)doublef=11.1E10f;(15)下列的哪个赋值语句是正确的?A)chara=12;B)inta=12.0;C)inta=12.0f;D)inta=(int)12.0;(16)给出下列的代码,哪行在编译时可能会有错误?①publicvoidmodify(){②inti,j,k;③i=100;④while(i0){⑤j=i*2;⑥System.out.println(Thevalueofjis+j);⑦k=k+1;⑧}⑨}A)line4B)line6C)line7D)line8(17)下列关于继承的哪项叙述是正确的?A)在java中允许多重继承B)在java中一个类只能实现一个接口C)在java中一个类不能同时继承一个类和实现一个接口D)java的单一继承使代码更可靠(18)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?A)privateB)无修饰符C)publicD)protected(19)给出下列代码,如何使成员变量m被方法fun()直接访问?classTest{privateintm;publicstaticvoidfun(){...}}A)将privateintm改为protectedintmB)将privateintm改为publicintmC)将privateintm改为staticintmD)将privateintm改为intm(20)已知有下列类的说明,则下列哪个语句是正确的?publicclassTest{privatefloatf=1.0f;intm=12;staticintn=1;publicstaticvoidmain(Stringarg[]){Testt=newTest();}}A)t.f;B)this.n;C)Test.m;D)Test.f;(21)给出下列代码,则数组初始化中哪项是不正确的?byte[]array1,array2[];bytearray3[][];byte[][]array4;A)array2=array1B)array2=array3C)array2=array4D)array3=array4(22)下列代码的执行结果是publicclassTest{publicintaMethod(){staticinti=0;i++;System.out.println(i);}publicstaticvoidmain(Stringargs[]){Testtest=newTest();test.aMethod();}}A)编译错误B)0C)1D)运行成功,但不输出(23)下列关于内部类的说法不正确的是A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B)内部类可以使用它所在类的静态成员变量和实例成员变量C)内部类不可以用abstract修饰符定义为抽象类D)内部类可作为其他类的成员,而且可访问它所在类的成员(24)顺序执行下列程序语句后,则b的值是Stringa=Hello;Stringb=a.substring(0,2);A)HelloB)helloC)HelD)null(25)在oneMethod()方法运行正常的情况下,程序段将输出什么?publicvoidtest(){try{oneMethod();System.out.println(condition1);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(condition2);}catch(Exceptione){System.out.println(condition3);}finally{System.out.println(finally);}}A)condition1B)condition2C)condition3D)condition1finally(26)下列常见的系统定义的异常中,哪个是输入、输出异常?A)ClassNotFoundExceptionB)IOExceptionC)FileNotFoundExceptionD)UnknownHostException(27)下列哪个不是nio包的新特点?A)内存映射技术B)文件锁定C)字符及编码D)阻塞I/O(28)下列哪个选项是正确计算42度(角度)的余弦值?A)doubled=Math.cos(42);B)doubled=Math.cosine(42);C)doubled=Math.cos(Math.toRadians(42));D)doubled=Math.cos(Math.toDegrees(42));(29)下列InputStream类中哪个方法可以用于关闭流?A)skip()B)close()C)mark()D)reset()(30)下列方法中哪个是执行线程的方法?A)run()B)start()C)sleep()D)suspend()(31)下列关于Frame类的说法不正确的是A)Frame是Window类的直接子类B)Frame对象显示的效果是一个窗口C)Frame被默认初始化为可见D)Frame的默认布局管理器为BorderLayout(32)下列Java常见事件类中哪个是鼠标事件类?A)InputEventB)KeyEventC)MouseEventD)WindowEvent(33)在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?A)init()B)start()C)paint()D)destroy()(34)下列哪个是面向大型企业级用容器管理专用构件的应用平台?A)J2EEB)J2MEC)J2SED)J2DE(35)下列哪个选项的java源文件代码片段是不正确的?A)packagetestpackage;publicclassTest{}B)importjava.io.*;packagetestpackage;publicclassTest{}C)importjava.io.*;classPerson{}publicclassTest{}D)importjava.io.*;importjava.awt.*;publicclassTest{}二、填空题(1)数据结构分为逻辑结构与存储结构,线性链表属于【1】。解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。(2)在面向对象方法中,类之间共享属性和操作的机制称为【2】。解析:类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法。(3)耦合和内聚是评价模块独立性的两个主要标准,其中【3】反映了模块内各成分之间的联系。解析:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体项目主管与实体项目的联系属于【4】的联系。解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1∶1)的联系、一对多(1∶N)或多对一(N∶1)的联系和多对多(N∶N)的联系。(5)数据库设计分为以下6个设计阶段:需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。解析:数据库设计分为以下6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。(6)Java语言用【6】进行解释执行。解析:Java语言是用字节码进行解释执行,它本身带有许多编译时产生的信息,可使其连接过程更简单。(7)在一个类的内部嵌套定义的类称为【7】。解析:内部类是嵌套在一个类的内部使用的,与普通类一样,内部类也具有自己的成员变量和成员方法。(8)设有数组定义:inta[]={11,22,33,44,55,66,77,88,99};则执行下列几个语句后的输出结果是【8】。for(inti=0;ia.length;i++)if(a[i]%3==0)System.out.println(a[i]+);解析:此题是输出数组中能被3整除的元素。a.length可以求出数组a的元素个数。(9)下面程序的运行结果是【9】。importjava.io.*;publicclassABC{publicstaticvoidmain(Stringargs[]){inti;inta[]={11,22,33,44,55,66,77,88,99};for(i=0;i=a.length/2;i++)System.out.print(a[i]+a[a.length-i-1]+);System.out.println();}}解析:题中a.length/2的值应为4,所以for循环执行了5次。第一次输出的是元素a[0]与a[8]的和;第二次输出的是元素a[1]与a[7]的和;第三次输出的是元素a[2]与a[6]的和;第四次输出的是元素a[3]与a[5]的和;第五次输出的是元素a[4]与a[4]的和。所以结果是5个110。(10)URL是【10】的缩写。解析:URL是统一资源定位器--UniformResourceLocator的简称,它表示Internet上某一资源的地址。(11)【11】日历类提供日期和时间的表示,它以格里历(即阳历)来计算。解析:GregorianCalendar是以格里历(即阳历)来计算的日历类。(12)若x=5,y=10,则xy&&x++==y--的逻辑值为【12】。解析:此题主要是考查运算符的优先级,首先运算的是++和-两个运算