1、笔试题-答案一、 单选题1. 栈与队列有什么共同点() 。2. 假设一个栈的序列为 1,2,3,则最不可能的出栈序列是什么(321) 。3. 下面哪个表达式可以用来得到 X 和 Y 的最大值(B) 。A)XY?Y:X B)XY?(X+Y):(X-Y) D)X=Y?Y:X4. 良好的编程习惯,类、方法和成员变量应该怎么写?5. 栈的插入和删除在哪进行?6. JVM 有能有几个实例?7. 下列有关 Java 语言的叙述中,正确的是 ( ) A)Java 是不区分大小写的; B)源文件名与 public 类型的类名必须相同;C)源文件名其扩展名为.jar; D)源文件中 public 类的数目不限;
2、8. 下列关于栈的叙述正确的是 ( )A)栈是非线性结构 B)栈是一种树状结构C)栈具有先进先出的特征 D)栈具有后进先出的特征9. 关于下列程序段的输出结果,说法正确的是 public class MyClass static int i;public static void main(String argv) System.out.println(i); A、 有错误,变量 i 没有初始化。 B、null C、1 D、010.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的 ?A、 ArrayList myList=new Object(); B、
3、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List(); 11.下面程序的运行结果是( )int i = 0,j = 1;if(i+ = 0) A. i = 1,j = 2 B. i = 1,j = 1 C. i = 42,j = 2 D. i = 42,j = 112.下面程序的运行结果是( )boolean bool = true;if (bool = false) System.out.println(“a”); else if(bool) System.out.pri
4、ntln(“b”); else if (!bool) System.out.println(“c”); else System.out.println(“d”);A. a B. b C. c D. d E. Compilation fails.13.关于接口跟抽象类正确的是( )A. 接口能够创建对象 B. 抽象类能够创建对象C. 接口中不能定义变量,都是常量 D. 接口中可以有 private 方法14.异常处理正确的是( )A. 调用任何可能抛出异常方法,都必须捕捉 try catch 或者 throwsB. RuntimeException 可以不捕捉或者 throwsC .throw
5、跟 throws 用法是一样的D .try 必须有 catch,可以没有 finally15.下面在 Java 线程同步中已经不推荐使用,应该避免使用的方法是( ) A .join B. notify C. wait D. suspend16.关于 final,下列说法错误的是( )A. final 修饰的变量,只能对其赋一次值B. final 修饰一个引用类型变量后,就不能修改变量指向的对象的状态C. final 不能修饰一个抽象类D. final 修饰的方法,不能被子类覆盖17.下列有关 Java 语言的叙述中,正确的是A、Java 是不区分大小写的 B、源文件名与 public 类型的类
6、名必须相同C、源文件名其扩展名为.jar D、源文件中 public 类的数目不限18. 在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送A、调用语句 B、命令 C、口令 D、消息19.描述数据内容的概念模式是A、E-R 图 B、DFD 图 C、结构图 D、数据字典20.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的 ?A ArrayList myList=new Object() ; B List myList=new ArrayList() ; C ArrayList myList=new List() ; D List myL
7、ist=new List() ; 21.下列赋值语句中错误的是A、float f=11.1f B、double d=5.3E12; C、char c=r; D、byte bb=433;22.下面那些是 java 关键或者保留字A)if B)then C)goto D)while E)case23.下列哪个类声明是正确的?A)abstract final class HI B)abstract private move() C)protected private number; D)public abstract class Car24.下列叙述中,错误的是A、接口与类的层次无关 B、通过接口说
8、明类所实现的方法 C、通过接口可了解对象的交互界面 D、接口与存储空间有关25.下列代码的执行结果是:public class Test5 public static void main(String args) String s1=new String(“hello“); String s2=new String(“hello“); System.out.print(s1=s2); System.out.print(“,“); System.out.println(s1.equals(s2); A、true,false B、true,true C、false,true D、false,fal
9、se26.请说明下面的程序执行后,输出哪个结果是正确的?答:输出默认值 0,5 代表数组大小 ;如果是 String 类型则输出 null;public class Q public static void main(String argv)int anar=new int5;System.out.println(anar0);1) Error: anar is referenced before it is initialized 2) null 3) 0 4) 5 27.在下面程序的第 6 行补充上下列哪个方法,会导致在编译过程中发生错误?class Superpublic float g
10、etNum()return 3.0f; public class Sub extends SuperApublic float getNum()return 4.0f; Bpublic void getNum()Cpublic void getNum(double d) Dpublic double getNum(float d)return 4.0d;28.正则表达式“d+.?d*“ 在匹配下列字符串时结果是失败的是? (3 分)A12.5 B125 C1.25 D以上都成功 E以上都失败29.执行下面的代码,输出结果是什么?int i=1;switch (i) case 0:System.
11、out.println(“zero“);break;case 1:System.out.println(“one“);case 2:System.out.println(“two“);default:System.out.println(“default“);1) one 2) one, default 3) one, two, default 4) default 30.下列语句执行后,变量 a,c 的值分别是。int x=182; int a,c;c = x/100;a = x%100;A)1, 2 B)2, 1 C) 1.82, 2 D)1,8231.3.应用程序的 main 方法中有以
12、下语句,则输出的结果是double x= 1234.1234567;DecimalFormat form1 = new DecimalFormat(“0.00“);System.out.println(“PI=“+form1.format(x);A)1234.12 B) 4.12 C) 1234.1234567 D) 1234.0032.应用程序的 main 方法中有以下语句,则输出的结果是int x=122,33,55,678,987;int y=x0;for(int i=1;iy)y = xi;System.out.println(y);A)678 B) 122 C) 987 D) 333
13、3.下列语句序列执行后,K 的值是int x=2,y = 5,k = 0;switch(x%y)case 0: k = x+y;break;case 1: k = x-y;break;case 2: k = x*y;break;default: k=x/y;break;System.out.println(k);A)2 B) 5 C) 10 D) 034.下面的程序输出的结果是public class A implements B public static void main(String args) int i;A c1 = new A();i = c1.k;System.out.prin
14、tln(“i=“+i);interface Bint k = 10;A)i=0 B) i=10 C) 编译错误 D) i = true35.请写出下列程序段的执行结果。public class Passstatic int j=20;public static void main(String argv)int i=10;Pass p = new Pass();p.amethod(i);System.out.println(i);System.out.println(j);public void amethod(int x)x=x*2;j=j*2;1) Error: amethod param
15、eter does not match variable 2) 20 and 40 3) 10 and 40 4) 10, and 2036.15、.以下哪一个不是赋值符号? A. += B. = A.很明显是赋值符号 B.= 右移赋值,左边空出的位以 0 填充37.以下哪个不是 Collection 的子接口? A. List B. Set C. SortedSet D. Map 38.17、BufferedReader 的父类是以下哪个? A. FilterReader B. InputStreamReader C. PipedReader D. Reader 39.在同一个目录下有下面几
16、个文件,如果没有编译 Basw.java 的情况下,尝试编译运行Class1.java,会发生什么?/Base.javapackage Base;class Baseprotected void amethod()System.out.println(“amethod“);/End of amethod/End of class basepackage Class1;/Class1.javapublic class Class1 extends Basepublic static void main(String argv)Base b = new Base();b.amethod();/En
17、d of main/End of Class11) Compile Error: Methods in Base not found 2) Compile Error: Unable to access protected method in base class 3) Compilation followed by the output “amethod“ 4)Compile error: Superclass Class1.Base of class Class1.Class1 not found40.当被访问文件不存在的情况下,下面的代码执行结果将是什么?(共 9 分)import ja
18、va.io.*;public class Mine public static void main(String argv)Mine m=new Mine();System.out.println(m.amethod();public int amethod() try FileInputStream dis=new FileInputStream(“Hello.txt“);catch (FileNotFoundException fne) System.out.println(“No such file found“);return -1;catch(IOException ioe) fin
19、allySystem.out.println(“Doing finally“);return 0;1) No such file found 2) No such file found ,-1 3) No such file found, Doing finally, -1 4) 0 41.请回答下面哪个结果是正确的?(4 分)String s=new String(“Bicycle“);int iBegin=1;char iEnd=3;System.out.println(s.substring(iBegin,iEnd);1) Bic 2) ic 3) icy 4) error: no me
20、thod matching substring(int,char)二、 多选题1. 下面说法正确的是A)final 可修饰类,属性变量,方法 B)abstract 可修饰类,方法C) 抽象方法只有方法头,没有方法体 D) 关键字 final 和 abstract 不能同时使用2. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是A)内部类可以直接访问外部类的成员 B)外部类也可以直接访问内部类的成员C)外部类不可以直接访问内部类的成员 D)外部类可以通过创建内部类的实例来访问内部类的成员3. 下面关于 JAVA 中输入/输出流的说法正确的是A)FileInputStream 与 Fi
21、leOutputStream 类用读,写字节流B)Reader 与 Writer 类用来读,写字符流C)RandomAccessFile 既可以用来读文件,也可以用来写文件D)File 类用来处理与文件相关的操作4. 下面关于 JAVA 中的线程的说法正确的是A)Java 提供了 Thread 类,支持多线程机制。B)一个线程创建并启动后,它将执行自己的 run()方法C)要在程序中实现多线程,必须在源程序前面使用 import 语句显示的导入 Thread 类 D)实现多线程有两种方法:继承线程类 Thread;实现 Runnable 接口5. 类 B 是一个抽象类,类 C 是一个类 B 的
22、子类,但不是抽象类,下列创建对象 X1 的语句中正确的是A)B X1 = new B() B)B X1 = new C()C)C X1 = new C() D)C X1 = new B()6. 关于下面的程序的说法正确的是public class Test1 implements Runnable String name;public Test1(String s) this.name = s;public static void main(String args) Thread thread1 = new Thread(new Test1(“111“);Thread thread2 = ne
23、w Thread(new Test1(“222“);thread1.start();thread2.start();public void run() System.out.println(name);A) 程序第 12-14 行的 run 方法是 Runnable 接口中的方法B) 程序第 9,10 行的方法调用的功能是分别启动两个线程对象 thread1 和 thread2C) 程序能编译运行,输出结果有可能是:111 222。D) 程序能编译运行,但没有任何结果输出。 三、 填空题1. 在一个 JAVA 源文件中定义了 3 个类,编译该 JAVA 源文件时会产生(3)个节码文件。2. J
24、AVA 中,把数据和基于数据的操作(即方法)封装在一起的数据类型称为(类).3. 在循环中使用(continue)语句,将跳过本轮循环的剩余语句,进入循环的下一轮。4. JAVA 中,(接口)是可以用来实现类间多重继承功能的结构。5. 在子类中使用关键字(super)做前缀可调用被子类覆盖的父类中的方法。6. 每个 Java 应用程序可以包括许多方法,但必须有且只能有一个_方法。(main)7. 在一个 MVC 用户界面中,存在三个通讯对象,它们分别是:模型、_和控件。( 视图 )8. Java 语言中_ 是所有类的根。 (object)9. 当 new 一个新对象的时候,该对象处于_状态;当
25、该对象被当做 session 的参数使用时,处于_状态;事物提交,session 关闭后,处于_状态。(持久态,游离态,临时,持久,游离)10.EJB 分为 _和_。 (sessionbean entitybean)11.下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.import java.io.*;public class ArrayTestpublic static void main(String args)int i;int a = new int5;for(i=0;i=0;i- -)System.out.println(“a“+i+“=“a)
26、;12.表示实体(事物)及实体间(事物间)联系的模型,称为_。13.以下程序的输出结果是 _public class ko6_9 public static void main(String args) int sum=0; int ko=1,2,3,4,5,6,7,8,9; for(int n=0;n3;n+) for(int m=0;m3;m+) sum+=konm; System.out.println(“sum=“+sum); 14.Struts 采用_ jsp 作为 MVC 的视图,由 ActionServlet 具体指定的 servlet 作为控制器即 MVC 中的 C,负责视图与
27、模型之间的交互。控制器的每个入口点都由名为_ Struts-config.xml _ _的配置文件设置。15.在正则表达式中表示匹配次数的符号,这些符号用来确定紧靠该符号左边的符号出现的次数请填写下表:符号 次数* 零次或多次+ 一次或多次? 零次或一次n N 次n,m N 到 M 次16.填写代码,完成如下功能:package Cbl.test; public class mytest public void Mystr(String str ,String flag) /str 代表要处理的字符串 ;flag 表示要处理的字符串中的分割符号。String tmpstr=“;String p
28、rtstr=“; tmpstr =str+flag ; while(tmpstr.indexOf(flag)!=-1)prtstr = tmpstr.substring(0, tmpstr.indexOf(flag);System.out.println(prtstr);填写代码: tmpstr=tmpstr.substring(tmpstr.indexOf(flag)+1, tmpstr.length() );public static void main(String args) mytest mt= new mytest();mt.Mystr(“网络、软件、计算机、IT 教育、软件设计“
29、, “、“); 程序实现输出结果:1. 网络2. 软件3. 计算机4. IT 教育5. 软件设计17.定义字符串:String s = new String(“javaok1“),s1 = s.substring(1,4);,则 s1的值是( )18.在一个 JAVA 源文件中定义了 3 个类,编译该 JAVA 源文件时会产生( )个字节码文件。19.JAVA 中,把数据和基于数据的操作(即方法)封装在一起的数据类型称为( ).20.在循环中使用( )语句,将跳过本轮循环的剩余语句,进入循环的下一轮。21.JAVA 中,( )是可以用来实现类间多重继承功能的结构。22.在子类中使用关键字( )做前缀可调用被子类覆盖的父类中的方法。四、 大题1. 简述 final、finally 和 finalize 的区别。2. Anonymous Inner Class (匿名内部类) 是否可以 extends(继承)其它类,是否可以implements(实现)interface(接口)?