软件开发工程师试题A卷(Java方向)考试说明:1.总分:100分;考试时间:100分钟;2.选择题为不定项选择,不全对没分,2分/题,总分50分;3、请将答案写在答题纸上;4、请尽可能充分的给出你的理由与思路,将有利于我们对你的考评。一、选择题(25x2’=50’)1、一个Java程序运行从上到下的环境次序是(C)A.操作系统、Java程序、JRE/JVM、硬件B.JRE/JVM、Java程序、硬件、操作系统C.Java程序、JRE/JVM、操作系统、硬件D.Java程序、操作系统、JRE/JVM、硬件2、下面代码中的第2行可以插入一行代码(AB)保证程序编译通过。1、publicinterfaceA{2、3、}A.voidmethod();B.publicvoidmethod();C.staticvoidmethod();D.privatevoidmethod();E.protectedvoidmethod();3、关于异常下列描述中,错误的是(ABC)A.异常机制可以用于流程控制B.finally代码段在发生异常时不一定必须执行C.在catch代码段中可以使用return语句来返回到异常抛出点D.可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件4、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问5、某类Example的main()方法参数为args,当命令行中输入JavaExamplecat时,args[0]的值为(A)。A.catB.JavaC.exampleD.null6、下面关于Thread类提供的线程控制方法的说法中,错误的是(D)A.在线程A中执行现成B的join方法,则线程A等待直到线程B执行完成。B.线程A通过调用iterrupt方法来中断其阻塞状态C.若线程A调用方法isAlive返回值为true,则说明A正在执行中D.currentThread方法返回当前线程的引用7、类Test1定义如下:1.publicclassTest1{2.publicfloataMethod(floata,floatb){}3.4.}将以下哪种方法插入行3是不合法的。(B)A.publicfloataMethod(floata,floatb,floatc){}B.publicfloataMethod(floatc,floatd){}C.publicintaMethod(inta,intb){}D.privatefloataMethod(inta,intb,intc){}8、下面程序的输出结果是(C)privatestaticvoidfoo(){try{System.out.println("try");foo();}catch(Throwablee){System.out.println("catch");foo();}finally{System.out.println("finally");foo();}}publicstaticvoidmain(String[]args){foo();}A.执行一段时间后报栈溢出。B.会一直输出“try”。C.会一直输出“try”和“finally”。D.会一直输出“try”、“catch”和“finally”9、下面的哪些程序片断可能导致错误?(BD)A.Strings="Gonewiththewind";Stringt="good";Stringk=s+t;B.Strings="Gonewiththewind";Stringt;t=s[3]+"one";C.Strings="Gonewiththewind";Stringstandard=s.toUpperCase();D.Strings="homedirectory";Stringt=s-"directory";10、已知如下代码:1:classExample{2:Stringstr;3:publicExample(){4:str="example";5:}6:publicExample(Strings){7:str=s;8:}9:}10:classDemoextendsExample{11:}12:publicclassTest{13:publicvoidf(){14:Exampleex=newExample("Good");15:Demod=newDemo("Good");16:}}哪句语句会导致错误?(E)A、line3B、line6C、line10D、line14E、line1511、下面的代码中第4行创建的对象在什么时候符合垃圾回收的条件(B)1、classBar{}2、classTest{3、BardoBar(){4、Barb=newBar();5、returnb;6、}7、publicstaticvoidmain(Stringargs[]){8、Testt=newTest();9、BarnewBar=t.doBar();10、newBar=newBar();11、}12、}A.程序运行第9行之后。B.程序运行第10行之后。C.doBar方法运行结束之后。D.main方法运行结束之后。12、下列关于for循环和while循环的说法中哪个是正确的?(A)A.while循环能实现的操作,for循环也都能实现B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空13、下述说法中,错误的是(D)A.Java中,方法的重载是指多个...