Java软件开发工程师笔试题

  • 格式:doc
  • 大小:66.00 KB
  • 文档页数:10

Java软件开发工程师笔试题一、选择题(25 x 2’ = 50’)1、一个Java程序运行从上到下的环境次序是()A.操作系统、Java程序、JRE/JVM、硬件B. JRE/JVM、Java程序、硬件、操作系统C. Java程序、JRE/JVM、操作系统、硬件D. Java程序、操作系统、JRE/JVM、硬件2、下面代码中的第2行可以插入一行代码 ()保证程序编译通过。

1、public interface A{2、3、}A.void method();B.public void method();C.static void method();D.private void method();E.protected void method();3、关于异常下列描述中,错误的是()A.异常机制可以用于流程控制B. finally代码段在发生异常时不一定必须执行C.在catch代码段中可以使用return语句来返回到异常抛出点D.可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件4、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问5、某类Example的main()方法参数为args,当命令行中输入Java Example cat时,args[0]的值为()。

A. cat B. Java C. example D. null6、下面关于Thread类提供的现成控制方法的说法中,错误的是()A.在线程A中执行现成B的join方法,则线程A等待直到线程B执行完成。

B.线程A通过调用iterrupt方法来中断其阻塞状态C.若线程A调用方法isAlive返回值为true,则说明A正在执行中D. currentThread方法返回当前线程的引用7、类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行3是不合法的。

()A. public float aMethod(float a, float b,float c){ }B. public float aMethod(float c,float d){ }C. public int aMethod(int a, int b){ }D. private float aMethod(int a,int b,int c){ }8、下面程序的输出结果是( )private static void foo() {try {System.out.println("try");foo();} catch (Throwable e) {System.out.println("catch");foo();} finally {System.out.println("finally");foo();}}public static void main(String[] args) {foo();}A.执行一段时间后报栈溢出。

B.会一直输出“try”。

C.会一直输出“try”和“finally”。

D.会一直输出“try”、“catch”和“finally”9、下面的哪些程序片断可能导致错误?( )A. String s = "Gone with the wind";String t = " good ";String k = s + t;B. String s = "Gone with the wind";String t;t = s[3] + "one";C. String s = "Gone with the 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 Example(String s){7: str=s;8: }9:}10: class Demo extends Example{11: }12: public class Test{13: public void f () {14: Example ex = new Example("Good");15: Demo d = new Demo("Good");16: } }哪句语句会导致错误?( )A、line 3B、line 6C、line 10D、line 14E、line 1511、下面的代码中第4行创建的对象在什么时候符合垃圾回收的条件()1、class Bar { }2、class Test {3、 Bar doBar() {4、 Bar b = new Bar();5、 return b;6、 }7、 public static void main (String 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. while循环能实现的操作,for循环也都能实现B. while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空13、下述说法中,错误的是( )A.Java中,方法的重载是指多个方法可以共享同一个名字B.Java中,用abstract修饰的类称为抽象类,它不能实例化C.Java中,接口不包含成员变量和方法实现D.Java中,构造方法可以有返回值14、下面哪些是正确的( )11. class ClassA {} 22. ClassB p1 = new ClassB();12. class ClassB extends ClassA {} 23. ClassC p2 = new ClassC();13. class ClassC extends ClassA {} 24. ClassA p3 = new ClassB();and: 25. ClassA p4 = new ClassC();21. ClassA p0 = new ClassA();A. p0 = p1;B. p1 =p2;C. p2 = p4;D. p2 = (ClassC)p1;E. p1 = (ClassB)p3;F. p2 = (ClassC)p4;15、以下代码片段,正确的结果是:()11.classA { 17. throw new IOException();12. public void process() { System.out.print(”A,”); } } 18. } }13. class B extends A { 19. public static void main(String[] args) {14. public void process() throws IOException { 20. try { new B().process(); }15. super.process(); 21. catch (IOException e) {16. System.out.print(”B,”); 22. System.out.println(”Exception”); } }A. ExceptionB. A,B,ExceptionC. Compilation fails because of an error in line 20.D. Compilation fails because of an error in line 14.E. A NullPointerException is thrown at runtime.16、用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

A. 94,32,40,90,80,46,21,69B. 32,40,21,46,69,94,90,80C. 21,32,46,40,80,69,90,94D. 90,69,80,46,21,32,94,4017、设栈最大长度为3,入栈顺序为1,2,3,4,5,6,则不可能的出栈序列是()A. 1,2,3,4,5,6B. 2,1,3,4,5,6C. 3,4,2,1,5,6D. 4,3,2,1,5,618、设有98个已排序列元素,采用二分法查找时,最大比较次数是()A. 49B.15C.20D.719、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定20、以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈21、设数组A[10…100,20…100]以行优先的方式顺序存储,每个元素占4个字节,且已知A[10,20]的地址为 1000,则A[50,90]的地址是()A. 13240B.14250C.24220D.1424022、链表不具有的特点是()A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比23、下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

24、若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。

A. i-j-1B. i-jC. j-i+1D. 不确定的25、下列说法不正确的是()。