Java软件开发工程师笔试题.doc

上传人:h**** 文档编号:1412074 上传时间:2019-02-24 格式:DOC 页数:10 大小:66KB
下载 相关 举报
Java软件开发工程师笔试题.doc_第1页
第1页 / 共10页
Java软件开发工程师笔试题.doc_第2页
第2页 / 共10页
Java软件开发工程师笔试题.doc_第3页
第3页 / 共10页
Java软件开发工程师笔试题.doc_第4页
第4页 / 共10页
Java软件开发工程师笔试题.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 1/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

2、 method(); D. private void method(); E. protected void method(); 3、 关于异常下列描述中,错误的是() A. 异常机制可以用于流程控制 B. finally 代码段在发生异常时不一定必须执行 C. 在 catch 代码段中可以使用 return 语句来返回到异常抛出点 D. 可以把 catch 到的异常对象再次抛出,使上层 try catch 结构继续处理该异常事件 4、 关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是() A 可以被三种类所引用:该类 自身、与它在同一个包中的其他类、在其他包中的该类的子

3、类 B 可以被两种类访问和引用:该类本身、该类的所有子类 C 只能被该类自身所访问和修改 D 只能被同一个包中的类访问 5、 某类 Example 的 main()方法参数为 args,当命令行中输入 Java Example cat 时, args0的值为()。 A cat B Java C example D null 6、 下面关于 Thread 类提供的现成控制方法的说法中,错误的是() A 在线程 A中执行现成 B 的 join 方法,则线程 A 等待 直到线程 B 执行完成。 B 线程 A 通过调用 iterrupt 方法来中断其阻塞状态 C 若线程 A调用方法 isAlive 返

4、回值为 true,则说明 A 正在执行中 D currentThread 方法返回当前线程的引用 7、 类 Test1 定义如下: 1 public class Test1 2 public float aMethod( float a, float b) 2/10 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 fl

5、oat 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.会一直输出

6、“ 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 = s3 + “one“; C. String s = “Gone with the wind“; String standard = s.toUpperCase(); D. String s = “

7、home directory“; String t = s - “directory“; 10、 已知如下代码: 3/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:

8、Demo d = new Demo(“Good“); 16: 哪句语句会导致错误? ( ) A、 line 3 B、 line 6 C、 line 10 D、 line 14 E、 line 15 11、 下面 的代码中第 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.d

9、oBar(); 10、 newBar = new Bar(); 11、 12、 A 程序运行 第 9行之后。 B 程序运行第 10行之后。 C doBar方法运行结束之后。 D main方法运行结束之后。 12、 下列关于 for 循环和 while 循环的说法中哪个是正确的?() A while 循环能实现的操作, for循环也都能实现 B while 循环判断条件一般是程序结果, for 循环判断条件一般是非程序结果 4/10 C 两种循环任何时候都可替换 D 两种循环结构中都必须有循环体,循环体不能为空 13、 下述说法中,错误的是 ( ) A Java 中,方法的重载是指多个方法可以共

10、享同一个名字 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

11、 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 ma

12、in(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. Exception B. A,B,Exception C. Compilation fails because of an error in line 20. D. Compilatio

13、n fails because of an error in line 14. E. A NullPointerException is thrown at runtime. 16、 用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是( )。 A 94,32,40,90,80,46,21,69 B 32,40,21,46,69,94,90,80 C 21,32,46,40,80,69,90,94 D 90,69,80,46,21,32,94,40 17、 设栈最大长度为 3,入栈顺序为 1,2,3,4,5,6,则不可能的出栈序列是() A. 1,2,3,4,5,6 B.

14、 2,1,3,4,5,6 C. 3,4,2,1,5,6 D. 4,3,2,1,5,6 18、 设有 98 个已排序列元素,采用二分法查找时,最大比较次数是() A. 49 B.15 C.20 D.7 5/10 19、 若一棵二叉树具有 10 个度为 2 的结点, 5 个度为 1 的结点,则度为 0的结点个数是() A 9 B 11 C 15 D不确定 20、 以下与数据的存储结构无关的术语是( )。 A循环队列 B. 链表 C. 哈希表 D. 栈 21、 设数组 A10 100, 20 100以行优先的方式顺序存储,每个元素占 4个字节,且已知 A10,20的地址为 1000,则 A50,90

15、的地址是( ) A. 13240 B.14250 C.24220 D.14240 22、 链表不具有的特点是() A插入、删除不需要移动元素 B可随机访问任一元素 C不必事先估计存储空间 D所需空间与线性长度成正比 23、 下面关于线性表的叙述中,错误的是哪一个?() A线性表采用顺序存储,必须占用一片连续的存储单元。 B线性表采用顺序存储,便于进行插入和删除操作。 C线性表采用链接存储,不必占用一片连续的存储单元。 D线性表采用链接存储,便于插入和删除操作。 24、 若一个栈的输入序列为 1,2,3, ,n,输出序列的第一个元素是 i,则第 j个输出元素是()。 A. i-j-1 B. i-

16、j C. j-i+1 D. 不确定的 25、 下列说法不正确的是( )。 A. 图的遍历是从给定的源点出发每一个顶点仅被访问一次 B. 图的深度遍历不适用于有向图 C. 遍历的基本算法有两种:深度遍历和广度遍历 D. 图的深度遍历是一个递归过程 二、程序改错 (5 * 2 = 10) 1. - public class Unbelievable static Integer i; public static void main(String args) if (i = 42) System.out.println(“Unbelievable“); 2. class Animal public

17、String noise() 龙通科技有限公司笔试题 6 return “peep“; class Dog extends Animal public String noise() return “bark“; class Cat extends Animal public String noise() return “meow“; public class Test public static void main(String args) Animal animal = new Dog(); Cat cat = (Cat) animal; cat.noise(); 3. abstract c

18、lass Something private abstract String doSomething(); 4. public class Something public static void main(String args) Other o = new Other(); new Something().addOne(o); public void addOne(final Other o) o.i+; class Other public int i; 5. class Something final int i; public void doSomething() System.ou

19、t.println(“i = “ + i); 龙通科技有限公司笔试题 7 三、 程序阅读题 (每空 2,共 40) 1、 阅 读以下 java 代码,写出运行结果 class StaticTest static int x=1; int y; StaticTest() y+; public static void main(String args ) StaticTest st=new StaticTest(); System.out.println(“x=“ + x); System.out.println(“st.y=“ + st.y); st=new StaticTest(); Syst

20、em.out.println(“st.y=“ + st.y); static x+; 2、 编写将一维数组 a中互不相同的数按从小到大顺序重新存于一维数组 a的程序。 class A public static void main(String args) int a=15,7,15,6,4,3,4,6,7; int i,j,k,low,high,mid,t; for(i=k=1;i=ai) _; else low=mid+1; if(_| alow!=ai) t=ai; for(j=k-1;_;j-) aj+1=aj; _; k+; for(j=0;jk;j+) System.out.pri

21、nln(aj); 龙通科技有限公司笔试题 8 3、 请用 JAVA 编写如下程序:此程序处理一个由 0和非 0 数字成员组成的数组(长度自定), 例如 0 0 1 2 0 1 0 0 0 1 0 0 0 0 0 2 0 7 8 9 0 0 1 2 3 4,把数组中所有连续两个以上的 0去掉, 将结果存入一个新数组。如上例处理后结果为, 1 2 0 1 1 2 0 7 8 9 1 2 3 4。 public static void main(String args) int srcArray = 0,0,1,2,0,1,0,0,0,1,0,0,0,0,0,2,0,7,8,9,0,0,1,2,3,

22、4; int destArray = new int50; int i=0,j=0,count=0; for(i=0;isrcArray.length;) count = 0; if(srcArrayi!=0) 1 i+; else while(isrcArray.length if(count2) 4 ; for(i=0;ij;i+) System.out.print(destArrayi+“ “); 4、 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数),凡报到 3 的人退出圈子,再从他的下一个人重新报数,问最后留下的是原来第几号的那位? public class T

23、est public static void main(String args) int peo; System.out.println(“请输入人数: “); Scanner inp = new Scanner(System.in); peo = inp.nextInt(); int k = Keeper(peo, 3); System.out.println(“最后留下的是 “ + k + “ 号! “); public static int Keeper(int peo, int n) int k = 0; 龙通科技有限公司笔试题 9 int array = new intpeo; fo

24、r (int i = 1; i peo; i+) int j = 1; while (j = n) if ( 1 ) j-; if (j = n) 2 ; j+; 3 ; for (k = 0; k peo; k+) if (arrayk = 0) 4 ; return k + 1; 5、 在一个 n n的棋盘上,放置 n 个不能互相捕捉的国际象棋“皇后”的所有布局。以下是 n 皇后的算法,请完成填空部分: public class Queen private int n; private int queenPos; private double num = 0; / 记录共有多少种摆法 Qu

25、een(int d) n = d; queenPos = new intd; / 放置皇后的方法 public void place(int row) int i = 0; if (row = n) 1 ; else 龙通科技有限公司笔试题 10 for (i = 0; i n; i+) queenPosrow = i; if (legality(row) 2 ; / 判断布局是否合法 private boolean legality(int list) if (list = 0) return true; for (int i = 0; i list; i+) if (queenPosi =

26、 queenPoslist) 3 ; if ( 4 ) return false; return true; / 测试方法 public static void main(String args) System.out.println(“输入个数 n: “); Scanner in = new Scanner(System.in); int n = in.nextInt(); try Queen q = new Queen(n); q.place(0); System.out.println(n + “*“ + n + “时, “ + “共有 “ + q.num + “种可能摆法。 “ ); System.out.println(“OK!“); catch (Exception e) e.printStackTrace();

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。