Java Past Paper (No Exam Board or Year)

Summary

This document contains a Java exam paper with multiple-choice questions. The paper includes single and multi choice question formats. The questions cover topics such as Java versions, exception handling, and arrays.

Full Transcript

**一、单选题**(共20题,20分) 1、 学习Java应该从(   )版本入手。 (1分) - A、 [Java ME](javascript:void(0)) - B、 [Java SE](javascript:void(0)) - C、 [Java EE](javascript:void(0)) - D、 [Java AE](javascript:void(0)) 正确答案: B  解析: 2、 编译运行以下程序后,关于输出结果的...

**一、单选题**(共20题,20分) 1、 学习Java应该从(   )版本入手。 (1分) - A、 [Java ME](javascript:void(0)) - B、 [Java SE](javascript:void(0)) - C、 [Java EE](javascript:void(0)) - D、 [Java AE](javascript:void(0)) 正确答案: B  解析: 2、 编译运行以下程序后,关于输出结果的说明正确的是(      )。\ public class Con{\ public static void main(String\[\] args){\ int x=2;\ System.out.println("value is "+ ((x\0; i-=2 )         j\*=i; (1分) - A、 (javascript:void(0)) - B、 (javascript:void(0)) - C、 (javascript:void(0)) - D、 (javascript:void(0)) 正确答案: A  解析: 6、 关于数组作为方法的参数时,向方法传递的是(      )。 (1分) - A、 [数组的引用 ](javascript:void(0)) - B、 [数组的栈地址](javascript:void(0)) - C、 [数组自身](javascript:void(0)) - D、 [数组的元素](javascript:void(0)) 正确答案: A  解析: 7、 下列关于import语句的说法中,错误的是(    )。 (1分) - A、 [程序中可以包括多个import语句   ](javascript:void(0)) - B、 [所有程序都至少需要一个import语句](javascript:void(0)) - C、 [import语句必须写在所有类的定义之前](javascript:void(0)) - D、 [import语句用于引入程序要使用的Java类](javascript:void(0)) 正确答案: B  解析: 8、 关于Java中的构造方法表述错误的是(       )。 (1分) - A、 [构造方法的名字和类名相同](javascript:void(0)) - B、 [构造方法不能被重载 ](javascript:void(0)) - C、 [构造方法的作用主要是在创建对象时执行一些初始化操作](javascript:void(0)) - D、 [构造方法没有返回值类型\ ](javascript:void(0)) 正确答案: B  解析: 9、 下列关于继承的叙述正确的是(    )。 (1分) - A、 [在java中允许多重继承 ](javascript:void(0)) - B、 [在java中一个类只能实现一个接口](javascript:void(0)) - C、 [在java中一个类不能同时继承一个类和实现一个接口](javascript:void(0)) - D、 [java的单一继承使代码更可靠](javascript:void(0)) 正确答案: D  解析: 10、 下列选项中关于Java中this关键字的说法错误的是(       )。 (1分) - A、 [this关键字是在对象内部指代对象自身的引用\ ](javascript:void(0)) - B、 [this关键字可以在类中的任何位置使用\ ](javascript:void(0)) - C、 [this只和特定的对象关联,而不是和类关联\ ](javascript:void(0)) - D、 [同一个类的不同对象有不同的this](javascript:void(0)) 正确答案: B  解析: 11、 关于异常,下列说法正确的是(       ) (1分) - A、 [异常是一种对象](javascript:void(0)) - B、 [一旦程序运行,异常将被创建](javascript:void(0)) - C、 [为了保证程序运行速度,要尽量避免异常控制](javascript:void(0)) - D、 [以上说法都对](javascript:void(0)) 正确答案: A  解析: 12、 在Java中,以下代码(      )正确地创建了一个InputStreamReader类型的对象。 (1分) - A、 [new InputStreamReader(new FileInputStream(\"1.dat\")) ;](javascript:void(0)) - B、 [new InputStreamReader(new FileReader(\"1.dat\")) ;](javascript:void(0)) - C、 [new InputStreamReader(new BufferedReader(\"1.dat\")) ;](javascript:void(0)) - D、 [new InputStreamReader(\"1.dat\") ;](javascript:void(0)) 正确答案: A  解析: 13、 关于泛型说法正确的是(     ) (1分) - A、 [泛型可以继承](javascript:void(0)) - B、 [泛型传递的是值](javascript:void(0)) - C、 [泛型不能定义接口](javascript:void(0)) - D、 [泛型不能定义方法](javascript:void(0)) 正确答案: A  解析: 14、 下列程序输出结果为(          )\  import java.util.\*;\  public class App12\_9\  {\  public static void main(String\[\] args)\    {\      HashSet  hs=new HashSet  ();\  for(String a:args)\       if(!hs.add(a))         \  System.out.println(\"元素\"+a+\"重复\");      \      System.out.println(\"集合的容量为:\"+hs.size()+\",各元素为:\");\      Iterator it=hs.iterator();\      while(it.hasNext()) \      System.out.print(it.next()+\"  \");  \    }\  } (1分) - A、 [集合的容量为:0,各元素为:](javascript:void(0)) - B、 [ 集合的容量为:1,各元素为:1](javascript:void(0)) - C、 [集合的容量为:null,各元素为:null](javascript:void(0)) - D、 [以上都不对](javascript:void(0)) 正确答案: A  解析: 15、 下列关于Thread类提供的线程控制方法的说法中,错误的一项是(    )。 (1分) - A、 [在线程A中执行线程B的join()方法,则线程A等待直到B执行完成](javascript:void(0)) - B、 [线程A通过调用interrupt()方法来中断其阻塞状态](javascript:void(0)) - C、 [若线程A调用方法isAlive()返回值为true,则说明A处于运行状态](javascript:void(0)) - D、 [currentThread()方法返回当前正在执行的线程对象的引用](javascript:void(0)) 正确答案: C  解析: 16、 下列关于Java线程模型的说法中,错误的一项是(         ) (1分) - A、 [Java线程模型包括计算机的CPU](javascript:void(0)) - B、 [代码可以与其他线程共享](javascript:void(0)) - C、 [数据可以被多个线程共享](javascript:void(0)) - D、 [线程模型在java.lang.Thread类中被定义](javascript:void(0)) 正确答案: A  解析: 17、 以下程序段输出的结果是(      )。\ String str=\"123\";\ int x=4;\ int y=5;\ str=str+(x+y);\ System.out.println(str); (1分) - A、 (javascript:void(0)) - B、 (javascript:void(0)) - C、 (javascript:void(0)) - D、 [编译时发生异常](javascript:void(0)) 正确答案: C  解析: 18、 (            )权限表示这个成员只能被同一个包(类库)中的类所访问和调用,如果一个子类与父类位于不同的包中,子类也不能访问父类中的缺省访问控制成员,也就是说其他包中的任何类都不能访问缺省访问控制成员? (1分) - A、 [private\ ](javascript:void(0)) - B、 [public](javascript:void(0)) - C、 [static](javascript:void(0)) - D、 [缺省访问控制权](javascript:void(0)) 正确答案: D  解析: 19、 关于对象成员占用内存的说法哪个正确 (        )。 (1分) - A、 [同一个类的对象共用同一段内存](javascript:void(0)) - B、 [同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间](javascript:void(0)) - C、 [对象的方法不占用内存](javascript:void(0)) - D、 [以上都不对](javascript:void(0)) 正确答案: B  解析: 20、 为了实现自定义对象的序列化,该自定义对象必须实现哪个接口?(     ) (1分) - A、 [Volatile](javascript:void(0)) - B、 [Serializable](javascript:void(0)) - C、 [Runnable](javascript:void(0)) - D、 [Transient](javascript:void(0)) 正确答案: B  解析: **二、多选题**(共5题,10分) 21、 在已经import相应包中类的情况下,下列表达式正确的的是(       )。 (2分) - A、 [Random rd=new Random();int d=rd.nextInt(10);](javascript:void(0)) - B、 [int d=Math.random();](javascript:void(0)) - C、 [Calendar cal=new Calendar();](javascript:void(0)) - D、 [Date date=new Date();](javascript:void(0)) 正确答案: A  D  解析: 22、 关于输入输出流的说法正确的是(       )。 (2分) - A、 [输入流读出数据](javascript:void(0)) - B、 [输入流写入数据](javascript:void(0)) - C、 [输出流读出数据](javascript:void(0)) - D、 [输出流写入数据](javascript:void(0)) 正确答案: A  D  解析: 23、 实现List接口的两个主要类是(       )。 (2分) - A、 [LinkeList类](javascript:void(0)) - B、 [HashSet类](javascript:void(0)) - C、 [TreeSet类](javascript:void(0)) - D、 [ArrayList类](javascript:void(0)) 正确答案: A  D  解析: 24、 以下选项中可以填写到横线处,让代码正确编译和运行的是(    )。  public class Test implements Runnable {          public static void main(String\[\] args) {              \_\_ t.start(); System.out.println(\"main\");          }          public void run() {               System.out.println(\"thread1!\");          } } (2分) - A、 [Thread t = new Thread(new Test());\ ](javascript:void(0)) - B、 [Test t = new Test();\ ](javascript:void(0)) - C、 [Thread t = new Test(); ](javascript:void(0)) - D、 [Thread t = new Thread();](javascript:void(0)) 正确答案: A  D  解析: 25、 关于静态方法,哪些描述是正确的(          ) (2分) - A、 [用static修饰的方法是属于类的静态方法(类方法)\ ](javascript:void(0)) - B、 [非static的方法是属于某个对象的方法,在该对象创建时,对象的方法在内存中拥有属于自己专用的代码段;\ 而static的方法是属于整个类的,它在内存中的代码段将被所有对象所共用\ ](javascript:void(0)) - C、 [static方法只能访问static成员变量或static方法\ ](javascript:void(0)) - D、 [在静态方法中不能使用this或super\ ](javascript:void(0)) 正确答案: A  B  C  D  解析: **三、填空题**(共10题,10分) 26、 JVM把字节码程序和各种不同的[      ]和硬件分开,使得Java程序独立于平台。 (1分) 正确答案 **第一空: ** 操作系统 解析: 27、 写出下面语句的输出结果: \_\_\_\_。 { int num1 = 8;\ int num2 = 16;\ int a = num1 % num2;\ int b = num1 / num2;\ System.out.println(num1 + \" % \" + num2 + \"= \" + a);\ System.out.println(num1 + \" / \" + num2 + \" = \" + b);\ num1++;\ num2\--;\ System.out.println(\"num1 = \" + num1);\ System.out.println(\"num2 = \" + num2);\ } (1分) 正确答案 **第一空: ** 8 % 16= 8\ 8 / 16 = 0\ num1 = 9\ num2 = 15 解析: 28、 [            ]语句:不用下标就可遍历整个数组。 (1分) 正确答案 **第一空: ** foreach 解析: 29、 一个类多个对象,它们的成员变量分配在不同的[         ], 因此修改某一对象的成员变量时其他不受影响。 (1分) 正确答案 **第一空: ** 内存;堆空间 解析: 30、 子类可以从父类那里继承所有非[            ]的成员作为自己的成员。 (1分) 正确答案 **第一空: ** private;私有 解析: 31、 异常对象与catch块的匹配是按照catch块的[           ]顺序进行的,所以在处理多异常时应注意认真设计各catch块的排列顺序。 (1分) 正确答案 **第一空: ** 先后 解析: 32、 Java中,将用于向Java程序输入数据的数据源构造成[              ]流,java通过输出流向目的地输出数据。 (1分) 正确答案 **第一空: ** 输入 解析: 33、 关于下列Map 接口中常见的方法 ,  [            ]方法表示放入一个键值对。 (1分) 正确答案 **第一空: ** put 解析: 34、 多个线程并发执行时,各个线程中语句的执行顺序是确定 的,但是线程之间的相对执行顺序是[              ]的。 (1分) 正确答案 **第一空: ** 不确定 解析: 35、 [              ]是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法。 (1分) 正确答案 **第一空: ** 构造方法;constructor;构造函数 解析: **四、判断题**(共10题,10分) 36、 Java SE (Java Platform Standard Edition):主要应用于嵌入是系统开发,如手机和PDA的编程。 (1分) 正确答案: 错误 解析: 37、 基本数据类型,所占内存大小是固定的,与软硬件环境无关。在内存中存放的是数据值本身。 (1分) 正确答案: 正确 解析: 38、 将一个数组传递给一个方法,必须在数组名后加方括号。 (1分) 正确答案: 错误 解析: 39、 定义类的语法结构如下所示:  \[类修饰符\] class 类名称     {  //声明成员变量         \[修饰符\] 对象类型   变量名;        //声明成员方法        \[修饰符\] 返回值类型   方法名(参数表){...}                } (1分) 正确答案: 错误 解析: 40、 抽象方法是一种只有说明而无具体实现的方法。 (1分) 正确答案: 正确 解析: 41、 Exception类只有一个子类为 RuntimeException。 (1分) 正确答案: 错误 解析: 42、 缓冲流在使用时必须套接到基本的节点流之上完成对数据的读写操作。 (1分) 正确答案: 正确 解析: 43、 String 可以作为泛型类参数。 (1分) 正确答案: 正确 解析: 44、 A线程的优先级是10,B线程的优先级是1,那么当进行调度时一定会先调用A。 (1分) 正确答案: 错误 解析: 45、  类的修饰符中,缺省修饰符表示只能在一个类中可以使用该修饰符所对应的属性或方法。 (1分) 正确答案: 错误 解析: **五、简答题**(共3题,15分) 46、 如何创建自定义异常? (5分) 正确答案:  (1)声明一个新的异常类,用户自定义的异常类必须是Throwable类的直接或间接子类(Exception)。(2分) (2)为用户自定义的异常类定义属性和方法,或覆盖父类的属性和方法,使这些属性和方法能够体现该类所对应的错误信息。(2分) (3)用户自定义异常类不一定由系统自动抛出,因而必须用throw来抛出。(1分) 解析: 47、 什么是实例方法和类方法及他们的区别? (5分) 正确答案:  用修饰符static修饰的方法是类方法。(1分)没有用static修饰的方法是实例方法 。 (1分)  当一个类创建了一个对象后,这个对象就可以调用该类的方法,区别就在于类方法不仅可以有对象调用而且还可以直接由类名调用(2分) 而实例方法不能由类名调用,只能通过对象调用(1分)。 解析: 48、 File类常用方法有哪些? (5分) 正确答案:   ①public boolean exists()//测试对象是否存在。(1分)  ②public long length()//返回指定文件的字节长度,不存在返回0。(1分)  ③public boolean createNewFile()//文件不存在,创建一个新文件返回true,否则返回false。(1分)  ④ public boolean renameTo(File newName)//重命名指定文件对象,正常重命名返回true,否则false。(1分)  ⑤ public boolean delete()//删除指定文件。(1分) 备注:不限于以上5个方法,可为File类中其他方法。 解析: **六、编程题**(共1题,15分) 49、 定义一个求最大值的类MaxNum,需要定义public int max(int\[\] arr)的方法,该方法需要送入包括n个元素的数组,通过循环得到最大值,并返回。 在该类main方法中,通过引用变量mn引用该类的实例化对象,并调用该方法计算{33,22,99,66,55,11}几个数中的最大的数。 (15分) 正确答案:  class MaxNum {    public int max(int\[\] array){       int max = array\[0\];                          \...\...\...\...\...\...\...\...\...\...\.....2分       for (int i=1;i\

Use Quizgecko on...
Browser
Browser