资源描述
班级: 姓名: 学号: 试题共 页 加白纸 张
密 封 线
—— 学年第 学期
《 Java程序设计 》课程试题
课程号:
√
考试
□
A卷
√
闭卷
□
考查
□
B卷
□
开卷
题 号
一
二
三
四
五
六
七
八
九
十
总分
阅卷教师
各题分数
40
20
10
5
5
20
100
实得分数
一、单项选择题(20题;每题2分,共40分)
1、下面选项中,___不可以用作变量名的首字符。
A)字母 B)下划线(_) C)数字 D)美元符号(¥)
答案:C (难度系数C)知识点:变量
2、下面语句中,____不会出现编译警告或错误。
A)float f=1.3; B)char c=”a”; C)byte b=25; D)boolean b=null;
答案:C (难度系数B)知识点:赋值相容
3、下列叙述正确的是___。
A)final类可以有子类 B)abstract类中只可以有 abstract方法
C)abstract类上可以有非abstract方法,但该方法不可以用final修饰
D)不可以同时用final和abstract修饰一个方法
答案:D (难度系数B) 知识点:抽象类,抽象方法
4、创建一个标识有“关闭”按钮的语句是___。
A) TextField b = new TextField(“关闭”);
B) Label b = new Label(“关闭”);
C) Checkbox b = new Checkbox(“关闭”);
D) Button b = new Button(“关闭”);
答案:D (难度系数C) 知识点:GUI编程
5、在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。
A) if – else B)switch C)try D) throw
答案:C (难度系数B) 知识点:异常
6、paint()方法使用_____类型的参数。
A) Graphics B)Graphics2D C) String D) Color
答案:A (难度系数B,知识点applet)
7、下列语句正确的是________。
A)int a={1,2,3} B)int b=(1,2,3);
C)int c[]={1,2,3} D)int []d={1 2 3}
答案:C (难度系数C)知识点:数组
8、下面___函数是public void aMethod(){...}的重载函数。
A) void aMethod( ){...}
B) public int aMethod(){...}
C) public void aMethod ( ){...}
D)public int aMethod ( int m){...}
答案 D (难度系数A,知识点:重载)
9、_________事件监听器可以处理在文本框中输入回车键的事件
A)ItemListener B)ActionListener
C)MotionListener D)AdjustListener
答案:B (难度系数B)知识点:事件处理
10、下列陈述正确的是_________。
A) 一个组件只能发生一种事件 B)一个监听器处理一种事件
C)多个事件监听器被注册到一个组件会引起编译错误
D) 如果多个事件监听器被注册到一个组件上,这些事件监听器一般都会起作用,但各个事件的处理顺序不确定
答案:D (难度系数A)知识点:事件处理
11、以下描述正确的是___。
A) JAVA不可以用来开发手机程序
B) 在JAVA程序中java.awt包是唯一自动引入的类库
C) java.io包是JAVA语言的输入输出类库
D) JAVA的包中可以有相同的类名
答案:C (难度系数B) 知识点:JAVA简介,包
12、以下关于数组的描述有误的是____。
A) 整型数组中的各元素的值必须是整型
B) 数组是有序数据的集合
C) 如数组名为ab,即ab.length可以取得该数组的长度
D) 数组的下标从1开始
答案:D (难度系数B)知识点:数组
13、以下对于标识符的描述有误的是___。
A) 常量用大写字母,变量用小写字母
B) JAVA的标识符严格区分大小写
C) 第一个字符不是数字
D) 标识符中任何位置都不能用数字
答案:D (难度系数C)知识点:标识符
14、在Applet程序的自定义的Applet子类中,在Applet的界面中显示文字、图形和其他界面元素,常常重载的方法是 。
A)start( ) B)stop( ) C)paint( ) D)init( )
答案C (难度系数 C 知识点:绘图,图形界面)
15、下面各类对象不能接受用户输入的是 。
A)TextField B)JTextField C)JTextarea D)Jlable
答案D (难度系数 C 知识点:常用组件,可视化)
16、在读字符文件 Employee.dat 时,使用该文件作为参数的类是_____。
A)BufferedReader B)DataInputStream
C)DataOutputStream D)FileInputStream
答案:A;(难度系数:B;知识点:文件IO。)
17、在 Java 中,能实现多重继承效果的方式是_____。
A)内部类 B)适配器
C)接口 D)同步
答案:C;(难度系数:B;知识点:java特性。)
18、关于被私有访问控制符private修饰的成员变量,以下说法正确的是___。
A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、
在其他包中的该类的子类
B)可以被两种类访问和引用:该类本身、该类的所有子类
C)只能被该类自身所访问和修改
D)只能被同一个包中的类访问
答案:C (难度B) 知识点:类的继承
19、下列各类中有一个是其它类的超类,它是 。
A)Font B)Frame C)object D)Object
答案D (难度系数 C 知识点:常见类,)
20、下列类的定义中,错误的是___。
A) class x { .... }
B) public x extends y { .... }
C)public class x extends y { .... }
D) class x extends y implements y1 { .... }
答案:B (难度B)知识点:类的定义
二、填空题(10题;每题2分,共20分)
1 不能定义实例的类称为 ,它由关键词 来标明。
答案抽象类 abstract (难度B 知识点:知识点:类的定义,对象使用)
2 定义一个包含7个元素的数组a,则该数组的最后一个元素是 。
答案:a[6](难度系数C 知识点:数组)
3在Java中只能实现单继承(Java不支持多重继承),但可通过 实现多重继承。
答案:接口 (难度系数 B 知识点:接口)
4 Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中, 方法只被调用执行一次,但 start()方法可以多次被调用执行。
答案:init( ) (难度系数B 知识点:小应用程序)
5读写器是以___________为基本单位访问文件的,读写器之外的其他输入流、输出流以及随机访问文件都是以___________为基本单位访问文件的。
答案:字符 字节 (难度系数 C 知识点:文件与数据流)
6、在中提供了两个类: 和 ,分别用来用于客户端和服务器端的Socket通信。
答案Socket ServerSocket ( 难度B 知识点:网络基本类)
7、设x = 2 ,则表达式 ( x + + ) * 3 的值是 。
答案: 6 (难度系数:B 知识点:运算符与表达式)
8、字符串分为两大类,一类是字符串常量,使用 类的对象表示;另一类是字符串变量,使用 类的对象表示。
答案:String、StringBuffer;(难度:B;知识点:变量类型。)
9、 数组x定义如下
int x[ ][ ]=new int[3][2]
则 x..length 的值为____________,x[0].length 的值为____________。
答案:3、2
(难度系数: B 知识点:二维数组)
10、在Java中用一个变量名表示一组数据的机制是 。
答案:数组 ( 知识点: 数组 难度系数C)
三、判断题(10题;每题1分,共10分)
1. ( )任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。
答案:错 (难度系数B)知识点:构造方法
2.( )用Javac编译Java源文件后得到代码叫字节码。
答案:对 (难度系数B)知识点:JAVA简介
3.( )java.lang.System类中的in和out属性是表示标准输入和标准输出。
答案:对 (难度系数B)知识点:数据流
4.( )Java的各种数据类型所占用的内存长度与具体软硬件环境有关。
答案:错 (难度系数: C 知识点: JAVA特点)
5.( )在Java中不允许一个方法在自身定义的内部调用自己。
答案:错 难度系数C 知识点:类
6.( ) abstract和final不能同时修饰同一个类。
答案 对 (难度系数 C 知识点:类的定义,修饰)
7.( )访问类的成员,必须以类的对象为前缀。
答案 错 (难度系数 C 知识点:类的封装,访问)
8.( )Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程序的主类名一致。
答案:错 (难度系数B)知识点:JAVA简介
9. ( ) 线程使用sleep()方法休眠后,可以用notify()方法唤醒。
答案:错 (难度系数B)知识点:多线程
10. ( )用Javac编译Java源文件后得到代码叫字节码。
答案:错 (难度系数B)知识点:JAVA简介
四、程序填空题(1题;每题5分,共5分)
1.以下程序的功能是将文件a.txt复制到b.txt,在空白处填入适当的内容。
import java.io.*;
public class C {
public static void main(String[] args) throws IOException {
File inputFile = (1) ;
File outputFile = new File(" b.txt");
FileReader in = new FileReader(inputFile);
FileWriter out = new (2) ;
int c;
while ( (3) ) out.write(c);
in.close();
out.close(); }
}
(难度系数:B 知识点:JAVA输入输出)
答案:(1)new File("a.txt")
(2)FileWriter(outputFile)
(3)(c = in.read() ) != -1
五、读程序写结果(1题;每题5分,共5分)
1.写出以下程序的运行结果。
import java.io.*;
public class ATest{
public static void main(String args[]) {
Sub sb = new Sub( );
System.out.println(sb.method1( )); }
}
class Super{
int x=1 , y=2 ;
int method1(){ return x<y?x:y; }
}
class Sub extends Super{
int mothod1( ) { return ((x>y)?x:y); }
}
程序运行结果是:
答案:1 (难度系数: B 知识点:类继承、多态性)
六、编程题(2题;每题10分,共20分)
1、编写程序求出10个整数的最大值和最小值、平均值。
(难度系数B,基本程序设计)
答案:
public class computer
{
int a[8]={6,10,3,17,20,19,5,27,2,30};
int i,sum=0,max=0,min=0,avg=0;
for(i=0;i<=7;i++)
{
sum=sum+a[i];
if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i];
}
avg=sum/8;
System.out.println(“最大值=”+max);
System.out.println(“最小值=”+min);
System.out.println(“平均值=”+avg);
}
2、设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。
(难度系数 B)知识点:类的定义
答案:package mypackage.employee;
class MyDate{
private int year;
private int month;
private int day;
public MyDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public int getYear(){
return year;
}
}
public class Employee{
private String name;
private double salary;
private MyDate hireDay;
public Employee(String name,double salary,MyDate day){
this.name=name;
this.salary=salary;
hireDay=day;
}
public void print(){
System.out.println(name+ ""+salary+""+hireYear());
}
public int hireYear(){
return hireDay.getYear();
}
}
class TestEmployee{
public static void main(String [] args){
Employee a=new Employee("李明",20000,new MyDate(2000,10,1));
Employee b=new Employee("王强",24000,new MyDate(1995,8,12));
a.print();
b.print();
}
}
展开阅读全文