IP:192.168.0.26
网络连接: ●
2010年(下)全国信息技术水平考试计算机程序设计技术水平证书(JAVA语言)
考试试卷
第一大题:单选题 (30 分) 1. (1分) 下列叙述中正确的是( D )
(A) Java程序经编译后会产生machine code (B) Java程序经编译后会产生byte code (C) Java程序经编译后会产生DLL (D) 以上都不正确
2. (1 下列说法中正确的是( C ) 分)
(A) 类中的构造方法声明不可省
略
(B) 构造方法必须与类同名,构造方法返回值为void (C) 构造方法在一个对象被new时执行 (D) 一个类只能定义一个构造方法
3 JDBC常用的类和接口都包含在( A )包中。 .
(A) java.sql (B) java.awt (C) java.lang (1
分) (D) java.swing
4. (1分) 执行下列程序后,C的值是( C )
public class Test{
public static void main(String arg[]){ int a=0,c=0; do{
--c; a=a-1;
}while(a>0); } }
(A) 0
(B) 1
(C) -1
(D) 死循环
5. 若有int型public成员变量MAX_LENGTH,该值保持为常数100,则定(1义这个变量的语句是( A )
分)
(A) public int MAX_LENGTH=100 (B) final int MAX_LENGTH=100 (C) public const int MAX_LENGTH=100 (D) public final int MAX_LENGTH=100
6. (1 在程序中import,package,class出现的正确顺序分) 是 ( )
(A) import package class (B) package import class (C) package class import (D) import class package
7. (1分) 下列方法中可以用来创建一个新线程的是( (A) 实现java.lang.Runnable接口并重写start()方法(B) 实现java.lang.Runnable接口并重写run()方法 (C) 实现java.lang.Thread类并重写sleep()方法 (D) 实现java.lang.Thread类并重写start()方法
8. 下列程序的输出结果是( ) (1分) public class Test{
public static void main(String[] args){ String a=new String(\"A\"); String b=new String(\"B\"); oper(a,b);
System.out.println(a+\ }
static void oper(String c,String d){ c.concat(\"B\"); d=c; } }
(A) A,A
(B) 编译正确,运行时将产生错
)
误 (C) A,B (D) AB,AB
9. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(1分) ( B )个比特位。
(A) 8
(B) 16
(C) 32
(D)
10. (1分) 下列程序段输出的结果是( B )
int i = 9; switch (i) { default:
System.out.println(\"default\"); case 0:
System.out.println(\"zero\"); break; case 1:
System.out.println(\"one\"); case 2:
System.out.println(\"two\"); }
(A) default (B) default zero
(C) 程序编译出错
(D) 程序运行正确,但没有输出
11. 下列程序输出的结果是( A ) (1分) public class Test{
public static void main(String args[]){ static int x[]=new int[15]; System.out.println(x[5]); } }
(A) 编译出错 错
(B) 编译通过,但运行时有
(D) 输出null
(C) 输出0
12. (1 给出如下代码: 分) class Test{
private int m;
public static void fun(){ //some code
} }
下列选项中,能使成员变量m 被函数fun()直接访问的是 ( B )
(A) 将private int m 改为protected int m (B) 将private int m 改为 public int m (C) 将private int m 改为 static int m (D) 将private int m 改为 int m
13 给出如下代码,请问x处于什么范围时将打印字符串. (1“second” ( D )
分) if(x>5){System.out.println(\"first\");}
else if(x>-5){ System.out.println(\"second\");} else {System.out.println(\"third\");}
(A) x>5 & x>-5
14. (1 一个线程的run方法包含以下语句,假定线程没有被打断,则下列说分) 法中正确的是( B )
(1) try{
(2) sleep(10);
(3) }catch(InterruptedException e){ }
(A) 不能通过编译,因为在run方法中可能不会捕捉到异常。
(B) 在第2行,线程将暂停运行,正好在10毫秒后继续运行。 (C) 在第2行,线程将暂停运行,最多在10毫秒内将继续运行。 (D) 在第2行,线程将暂停运行,将在10毫秒后的某一时刻继续运行。
15. (1 关于以下代码,下列说法中正确的是( D ) 分) (1)abstract class AbstractOne{
(2) abstract int getInt(); (3) }
(4) public class Test extends AbstractOne{ (5) private int x=1;
(6) private int getInt(){
(B) x>-5
(C) x<=-5
(D) x<=5 &
(7) return x; } (8) }
(A) 编译成
功
(B) 编译成功,但会导致运行时错误 (C) 编译无法通过,第2行有错 (D) 编译无法通过,第6行出错
16. 下列方法中不能成为方法public void add(int a){ }重载方(1分) 法的是( A )
(A) public int add(int a) (B) public void add(long a) (C) public void add(int a,int b) (D) public void add(float a)
17 下列程序执行后将有( C )个字节被写入到文件. (1myfile.txt中
分) import java.io.*;
public class Test {
public static void main(String[] args){ try{
FileOutputStream fos=new FileOutputStream(\"myfile.txt\");
DataOutputStream dos=new DataOutputStream(fos);
dos.writeInt(3); dos.writeChar(1); dos.close(); fos.close( );
}catch(IOException e) { } } }
(A) 3 环境相关
18. (1 下列程序段输出的结果是( D )
(B) 5
(C) 6
(D) 不确定,与软硬件
分)
public class Test{ static int i;
public static void main(String argv[]){ System.out.println(i); } }
(A) 有错误,变量i没有初始化
(B) null
(C) 1
(D) 0
19. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: (1(1)A a0=new A(); 分) (2)A a1=new B();
(3)A a2=new C();
下列说法中正确的是 ( D )
(A) 只有第1行能通过编
译
(B) 第1、2行能通过编译,但第3行编译出错
(C) 第1、2、3行能通过编译,但第2、3行运行时出错 (D) 第1行、第2行和第3行的声明都是正确的
20. 下列说法中正确的是( B ) (1分)
(A) try语句可以单独存在,不需要其他的附加语
句
(B) try语句不能单独存在,后面必须要和catch或finally语句配合使用
(C) 在try语句后面的catch语句只能有一句
(D) finally语句的作用是用来完成一些不能完成的工作
2 当点击Applet中一个按钮控件时,下列哪个对象将会被创建1. ( C ) (1
(A) PaintEvent (B) TextEvent (C) ActionEvent分)
(D) KeyEvent
22 下列程序输出的结果是( D )
. (1class Parent{
分) String one, two;
public Parent(String a, String b){ one = a; two = b; }
public void print(){ System.out.println(one); } }
public class Child extends Parent{
public Child(String a, String b){ super(a,b); }
public void print(){
System.out.println(one + \" to \" + two);
}
public static void main(String arg[]){
Parent p = new Parent(\"south\\"north\");
Parent t = new Child(\"east\\"west\");
p.print(); t.print(); } }
(A) south east
(B) south to north east to west
(C) south to north east
(D) south
east to west
2 若变量\"result\"是一个boolean型的变量,则下列表达式合法的是3. ( B ) (1
(A) result=\"True\"; 分)
(B) if (result){ // do something... } (C) if (result!= 0) { // so something... } (D) result = 1
24. (1 下列类中可以作为FilterInputStream类的构造方法参数的分) 是 ( C )
(A) FilterOutputStream类 类
(C) InputStream类
(B) File
(D) RandomAccessFile类
25 阅读下面的代码片断
. (1(1) String str = null;
分) (2) if ((str != null) && (str.length() > 10)){
(3) System.out.println(\"more than 10\"); (4) }
(5) else if ((str != null) & (str.length() < 5)){ (6) System.out.println(\"less than 5\"); (7) }
(8) else { System.out.println(\"end\"); } 导致错误的行号是( C )
(A) line 1 line 8
26 下列关键字中能阻止一个类被继承的是( A ) . (1
(A) final (B) protected (C) private 分)
abstract 27. 若有如下类定义 (1分) abstract class Shape{
abstract void draw(); }
那么,在试图编译下面的类定义时会发生什么情况 ( B )
class Square extends Shape{ }
(A) 都可以成功编
译
(B) Shpe可以编译,而Square不能
(B) line 2
(C) line 5
(D)
(D)
(C) Square可以编译,而Shape不能 (D) Shape和Square都不能编译
28. (1分) 下列程序的输出结果是 ( D )
class C1{
static int j=0;
public void method(int a){ j++; } }
class Test extends C1{
public int method(){ return ++j; }
public void result(){ method(j);
System.out.println(j+method()); }
public static void main(String args[]){ new Test().result(); } }
(A) 0
(B) 1
(C) 2
(D) 3
29. (1分) 下列程序的输出结果是 ( D )
class Test{
static void change(String s){ s=s.replace('j','l'); }
public static void main(String args[]){ String s=\"java\"; change(s);
System.out.println(s); } }
(A) 编译错误 (B) lava
(C) 运行时出现异常
(D) java
30. (1分) 下列程序的输出结果是( D )
public class Test{
static int I =0; void fun(){
I++; }
public static void main(String args[]) {
Test obj1=new Test(); Test obj2=new Test(); obj1.fun(); obj2.fun();
System.out.println(obj1.I); } }
(A) 编译错误
(B) 6
(C) 1
(D) 2
第二大题:实践题(编程题) (70 分)
1. (20 程序功能:接受一个小于1000的正整数参数,返回3位字符串数分) 据格式,整数位数不足3位,前面补0。例如输入7,返回“007”,
输入32,返回“032”,输入9,返回“9”等。 提示:
程序架构如下:
public class Test1{ /**
* 获得任意一个小于1000的正整数的3位字符串格式 */
public String GetStr(int n) { }
public static void main(String args[]) { Test1 t = new Test1(); System.out.println(test1.GetStr(7));
System.out.println(test1.GetStr(32));
System.out.println(test1.GetStr(9)); } }
备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。
例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对
应的字节码文件为:Test1.class。
2. (25 程序功能:创建一个能装5个水果的篮子,水果有苹果、橘子和分)
3. (25分) 香蕉,从篮子中一个一个把水果拿出来,并打印出该水果的名称。
提示1:用数组来表示篮子。
提示2:创建水果类,该类中有一个抽象方法GetName,用来输出水果的名称。
提示3:分别创建水果类的3个子类:苹果、橘子和香蕉类,分别实现GetName方法。 程序架构如下:
public class Test2 { public Test2() { }
public static void main(String[] args){ fruit[] fruits = new fruit[5]; fruits[0] = new Apple(); fruits[1] = new Orange(); fruits[2] = new Banana(); fruits[3] = new Apple(); fruits[4] = new Orange(); for(int i=0;i<5;i++){
System.out.println(fruits[i].GetName()); } } }
//定义水果抽象类: fruit。
//定义水果类的3个子类: Apple、Orange和Banana。
备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。
例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应的字节码文件为:Test1.class。
程序功能:定义一个Customer类,其属性包括客户编号
(CustomerNo),客户名称(CustomerName),联系电话(Phone),地
址(Address)。创建若干个该类的对象并保存到文件中。程序再从文件循环读取对象直至文件末尾,并将每个对象的属性显示在屏幕上。 提示1:使用对象流类实现对象数据的读写功能。
提示2:循环读取文件中的对象,通过捕获EOFException异常来判断是否文件末尾。
提示3:文件命名为“Customer.dat” 提示4:提示架构如下:
import java.io.*;
public class Test3 { public Test3() { }
public static void main(String[] args){ //写3个以上对象到文件
//从文件中循环读对象 } }
class Customer implements java.io.Serializable{ String CustomerNo; String CustomerName; String Phone; String Address;
public Customer(String no,String name,String phone,String address){
this.CustomerNo = no; this.CustomerName = name; this.Phone = phone; this.Address = address; } }
显示结果如下:
备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。
例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应
的字节码文件为:Test1.class。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务