还剩4页未读,继续阅读
文本内容:
软件开发工程师试题卷(方向)A Java考试说明.总分分;考试时间分钟;1100100选择题为不定项选择,不全对没分,分/题,总分分;
2.
250、请将答案写在答题纸上;
3、请尽可能充分的给出你的理由与思路,将有利于我们对你的考评4
一、选择题(,,)25x2=
501、一个Java程序运行从上到下的环境次序是(C)A.操作系统、Java程序、JRE/JVM、硬件B.JRE/JVM、Java程序、硬件、操作系统C.Java程序、JRE/JVM、操作系统、硬件D.Java程序、操作系统、JRE/JVM,硬件
2、下面代码中的第2行可以插入一行代码(AB)保证程序编译通过
1、public interfaceA{
3、}A.void method();B.public voidmethod();C.static voidmethod();D.private voidmethod();E.protected voidmethod();
3、关于异常下列描述中,错误的是(ABC)A.异常机制可以用于流程控制B.finally代码段在发生异常时不一定必须执行C.在catch代码段中可以使用return语句来返回到异常抛出点D.可以把catch到的异常对象再次抛出,使上层Uy—catch结构继续处理该异常事件
4、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)A.可以被三种类所引用该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问
5、某类Example的main方法参数为args,当命令行中输入Java Examplecat时,args
[0]的值为(A)A.cat B.Java C.example D.null
6、下面关于Thread类提供的线程控制方法的说法中,错误的是(D)A.在线程A中执行现成B的join方法,则线程A等待直到线程B执行完成B.线程A通过调用iterrupt方法来中断其阻塞状态C.若线程A调用方法isAlive返回值为true,则说明A正在执行中D.currentThread方法返回当前线程的引用
7、类Testi定义如下:
1.public class Testi{
2.public float aMethod floata,float b{}
3.
4.将以下哪种方法插入行3是不合法的(B)float aMethodfloatA.public a,float b,float cc,floataMethodfloatfloat d{}B.publicC.public intaMethod inta,int b{}D.private floataMethod inta,int b,int c{}
8、下面程序的输出结果是Cprivate staticvoid foo{try System.out.printin〃try〃;foo;}catch Throwablee{System,out.printin〃catch〃;foo;}finally{System,out.printinfinally;foo;public staticvoid mainString[]args{foo;A.执行一段时间后报栈溢出B.会一直输出“try”C.会一直输出“try”和“finally D.会一直输出“try”、“catch”和“finally”
9、下面的哪些程序片断可能导致错误?BD A.String s=Gone withthe wind”;String t二〃good〃;String k=s+t;B.String s-Gone withthe wind”;String t;t=s
[3]+〃one〃;C.String s=Gone withthe wind”;String standard=s.toUpperCase;D.String s=home directory”;String t=s-directory”;
10、已知如下代码1:class Example{2:String str;3:public Example{4:str=example”;5:}6:public ExampleStrings{7:str=s;8:}9:}10:class Demoextends ExampleH}12:public classTest{13:public voidf{14:Example ex=new Example〃Good〃;15:Demo d=new Demo〃Good〃;16:}}哪句语句会导致错误?E A、line3B line6C、line10D、line14E、line
1511、下面的代码中第4行创建的对象在什么时候符合垃圾回收的条件B
1、class Bar{}
2、classTest{
3、Bar doBar{
4、Bar b=new Bar;
5、return b;
6、
7、public staticvoid mainString args[]{
8、Test t=new Test;
9、Bar newBar二t.doBar;
10、newBar-new Bar;
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中,方法的重载是指多个方法可以共享同一个名字B.Java中,用abstract修饰的类称为抽象类,它不能实例化C.Java中,接口不包含成员变量和方法实现D.Java中,构造方法可以有返回值
14、下面哪些是正确的AEFE.pl二ClassB p3;
22.ClassB pl=new ClassB;
11.class ClassA{}F.p2=ClassCp4;
23.ClassC p2=new ClassC;
12.class ClassBextends ClassA{}
24.ClassA p3=new ClassB;
13.class ClassCextends ClassA{}
25.ClassA p4=new ClassC;and:
21.ClassA pO=new ClassA;C.p2=p4;A.pO=pl;B.pl=p2;D.p2=ClassCpl;
15、以下代码片段,正确的结果是D
11.Class A{
12.public voidprocess{System,out.printv A,;}}
13.Class Bextends A{
14.public voidprocess throwslOException{
15.super,process;
16.System,out.printB,“;
17.throw newlOException;
18.
19.public staticvoid mainString[]args{
20.try{new B.process;}
21.catch lOExceptione{
22.System,out.println,Exception,,;}A.ExceptionB.A,B,ExceptionC.Compilation failsbecause ofan errorin line
20.D.Compilation failsbecause ofan errorin line
14.E.A NullPointerExceptionis thrownat runtime.
16、设栈最大长度为3,入栈顺序为1,2,3,4,5,6,则不可能的出栈序列是D A.1,2,3,4,5,6B.2,1,3,4,5,6C.3,4,2,1,5,6D.4,3,2,1,5,
617、设有98个已排序列元素,采用二分法查找时,最大比较次数是(D)A.49B.15C.20D.
718、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)
19、若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是(I))oA.i-j-1B.i-j C.j-i+1D.不确定的A.9B.11C.15D.不确定
二、程序改错,5*2J10public classUnbelievable{static Integeri;public staticvoid mainString[]args{if i==42System.out.printInnUnbelievablen;}答此题会出原因是是工类型,没有给赋值NullPointExc㊀ption,i nt㊀g㊀r iclassAnimal{public Stringnoise{return peep”;class Dogextends Animal{public Stringnoise{return bark”;class Catextends Animal{public Stringnoise{return meow”public classTest{public staticvoid mainString[]args{Animal animal=new Dog;Cat cat=Cat animal;cat.noise;答止匕题会出ClassCastException原因是Cat cat=Cat animal;强制转换出错,animal指向的是DogO而Dog并不是Cat的父子类关系,好比方说猫和狗都是动物类型,在这里你是想将狗转换成猫肯定是行不通的.abstract class Something{private abstractString doSomething;答抽象类中的抽象方法不能是修饰的,因为抽象方法必须耍被实现privatepublic classSomething{public staticvoid mainString[]args{Other o=new Other;new Something.addOneo;public voidaddOnefinal Othero{o.i++;class Other{public int i;答没有错classSomething{final inti;public voiddoSomething{System.out.printInni=n+i;答该题错误在修饰的变量一定要在声明的时候初始化,可以改成final inti,final finalinti=1;。