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