1、 班级: 姓名: 学号: 试题共 页 加白纸 张 密 封 线 —— 学年第 学期 《 Java程序设计 》课程试题 课程号: √ 考试 □ A卷 √ 闭卷 □ 考查 □ B卷 □ 开卷 题 号 一 二 三 四 五 六 七 八 九 十 总分 阅卷教师 各题分数 40 20 10 5
2、 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类可以有子类
3、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 = n
4、ew 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
5、) 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
6、 m){...} 答案 D (难度系数A,知识点:重载) 9、_________事件监听器可以处理在文本框中输入回车键的事件 A)ItemListener B)ActionListener C)MotionListener D)AdjustListener 答案:B (难度系数B)知识点:事件处理 10、下列陈述正确的是_________。 A) 一个组件只能发生一种事件 B)一个监听器处理一种事件 C)多个事件监听器被注册到一个组件会引起编译错误 D) 如果多个事件监听器被注册到一个组件上,这些事件监听器一般都
7、会起作用,但各个事件的处理顺序不确定 答案: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
8、 (难度系数B)知识点:数组 13、以下对于标识符的描述有误的是___。 A) 常量用大写字母,变量用小写字母 B) JAVA的标识符严格区分大小写 C) 第一个字符不是数字 D) 标识符中任何位置都不能用数字 答案:D (难度系数C)知识点:标识符 14、在Applet程序的自定义的Applet子类中,在Applet的界面中显示文字、图形和其他界面元素,常常重载的方法是 。 A)start( ) B)stop( ) C)paint( ) D)init( ) 答案C (难度系数 C 知识点:绘图,图形界面) 15、下面各类对象不能接受用
9、户输入的是 。 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)同步
10、 答案:C;(难度系数:B;知识点:java特性。) 18、关于被私有访问控制符private修饰的成员变量,以下说法正确的是___。 A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、 在其他包中的该类的子类 B)可以被两种类访问和引用:该类本身、该类的所有子类 C)只能被该类自身所访问和修改 D)只能被同一个包中的类访问 答案:C (难度B) 知识点:类的继承 19、下列各类中有一个是其它类的超类,它是 。 A)Font B)Frame C)object D)Object 答案D (难度系数 C 知识点:常见类,)
11、 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 知识点:知识点:类的定义,对象使用)
12、 2 定义一个包含7个元素的数组a,则该数组的最后一个元素是 。 答案:a[6](难度系数C 知识点:数组) 3在Java中只能实现单继承(Java不支持多重继承),但可通过 实现多重继承。 答案:接口 (难度系数 B 知识点:接口) 4 Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中, 方法只被调用执行一次,但 start()方法可以多次被调用执行。 答案:init( ) (难度系数B 知识点:小应用程序) 5读写器是以___________为基
13、本单位访问文件的,读写器之外的其他输入流、输出流以及随机访问文件都是以___________为基本单位访问文件的。 答案:字符 字节 (难度系数 C 知识点:文件与数据流) 6、在中提供了两个类: 和 ,分别用来用于客户端和服务器端的Socket通信。 答案Socket ServerSocket ( 难度B 知识点:网络基本类) 7、设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答案: 6 (难度系数:B 知识点:运算符与表达式) 8、字符串分为两大类,
14、一类是字符串常量,使用 类的对象表示;另一类是字符串变量,使用 类的对象表示。 答案:String、StringBuffer;(难度:B;知识点:变量类型。) 9、 数组x定义如下 int x[ ][ ]=new int[3][2] 则 x..length 的值为____________,x[0].length 的值为____________。 答案:3、2 (难度系数: B 知识点:二维数组) 10、在Java中用一个变量名表示一组数据的机制是 。 答案:数
15、组 ( 知识点: 数组 难度系数C) 三、判断题(10题;每题1分,共10分) 1. ( )任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。 答案:错 (难度系数B)知识点:构造方法 2.( )用Javac编译Java源文件后得到代码叫字节码。 答案:对 (难度系数B)知识点:JAVA简介 3.( )java.lang.System类中的in和out属性是表示标准输入和标准输出。 答案:对 (难度系数B)知识点:数据流 4.( )Java的各种数据类型所占用的内存长度与具体软硬件环境有关。 答案
16、错 (难度系数: C 知识点: JAVA特点) 5.( )在Java中不允许一个方法在自身定义的内部调用自己。 答案:错 难度系数C 知识点:类 6.( ) abstract和final不能同时修饰同一个类。 答案 对 (难度系数 C 知识点:类的定义,修饰) 7.( )访问类的成员,必须以类的对象为前缀。 答案 错 (难度系数 C 知识点:类的封装,访问) 8.( )Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程
17、序的主类名一致。 答案:错 (难度系数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
18、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();
19、 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
20、 );
System.out.println(sb.method1( )); }
}
class Super{
int x=1 , y=2 ;
int method1(){ return x
21、 六、编程题(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(maxa[i]) min=a[i]; } avg=sum/8; System.out.p
22、rintln(“最大值=”+max); System.out.println(“最小值=”+min); System.out.println(“平均值=”+avg); } 2、设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。 (难度系数 B)知识点:类的定义 答案:package mypackage.employee; class MyDate{ private int year;
23、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
24、 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(); } }






