《Java程序设计》课程期中考试试卷
1 上海电机学院 200_8_–200_9_学年第_2_学期 《 Java 程序设计》课程期中试卷 开课学院:高职学院,专业: 计算机应用 考试形式:闭卷 所需时间 90 分钟 考生姓名: 学号: 班级 任课教师 题序 一 二 三 四 五 六 七 八 总 分 得分 评卷人 一、 选择题(共 30 分,每空格或小题 2 分) 1 、Java源文件和编译后的文件扩展名分别为( A ) A 、.java和.class B、.class和.java C 、.class和.class D、.java和.java 2 、void 的含义: A .方法体为空 B. 定义的方法没有形参 C .定义的方法没有返回值 D. 方法的返回值不能参加算术运算 3 、Jcreator是( ) A、一种全新的程序语言 B 、一种 java程序开发辅助工具 C 、一种由 Java写成的浏览器 D、一种游戏软件 4 、Java语言中创建一个对象使用的关键字为 ( ) A 、class B、interface C 、new D、create 5 、5%2.1的值是( ) A、1 B、0 C 、0.8 D、不能通过编译 6 、对于可以独立运行的 Java应用程序,下列( )说法是正确的。 A、无须 main方法 B、必须有两个 main方法 C 、可以有多个或零个 main方法 D 、必须有一个 main方法 7 、设 x=5 则 y=x-- 和 y=--x的结果,使 y 分别为( ) A、5,5 B、5,6 C 、5,4 D、4,4 8 、for(;;)是( ) A 、循环结构 B、分支结构 C、顺序结构 9 、布尔型变量真值表示为( ) A 、true B、false C、t D、f 10、下面哪种不是 Java的数据类型( ) A、基本类型 B、数组类型 C、类 D 、界面类型 11、用 abstract定义的类( ) A、可以被实例化 B、不能派生子类 C 、不能被继承 D 、只能被继承 12、设有对象 x 具有属性 a 则访问该属性的方法为( ) 2 A、a.x B、a.x() C 、x.a D、x.a() 13、设数组 Array由以下语句定义 int age=new int[10];则数组的第一个 元素的正确引用方法为( ) A、age[1] B、Age[0] C、age[] D 、age[0] 14、continue语句( ) A、只中断最内层的循环 B、只中断最外层的循环 C 、只中断所在层循环中的当次循环 D、只中断某一层的循环 15、以 public修饰的类如:public class Car{„} 则 Car() A 、可被其它程序包中的类使用 B、仅能被本程序包中的类使用 C 、不能被任意其它类使用 D、不能被其它类继承 二、判断题(共 10 分,每小题 1 分,对“√“,错“ד) ( × )1 、Java源程序文件中是不区分字母的大小写的。 ( √ )2 、数字不能用作变量名的首字符。 ( √ )3 、可以用 new来创建一个类的实例,即”对象”。 ( × )4 、Java语言是半编译半解释的语言。 ( √ )5 、Java可以用来进行多媒体及网络编程。 ( )6、用 final修饰的类必须被继承。 ( × )7 、类是对象实例。 ( × )8 、每个类都只能有一个构造方法。 ( √ )9 、applet可以运行在浏览器中。 ( )10、Java编译器使用文件系统来保存程序包。 三、读程题(共 10 分) 1.public class sum { public static void main(String args[]){ double sum=0.0; for(int i=1;i=100;i++) sum+=1.0/(double)i; System.out.println(“sum=”+sum); } } 运行结果:5.18738 2.public class test{ public static void main(String args[]){ int i=1,x=2; switch(x){ case 1:i++; case 2:i--; case 3: ++i;break; case 4:--i;} System.out.println(i);} 3 } 运行结果:1 四、简答题(共 20 分,每题 5 分) 1 .简述 JVM的工作原理(5 分) 2 .描述 java程序的框架结构。 (5 分) (1) (2) (3) 3 .简述 java继承的层次特点(5 分) 4 .简述面向对象编程有何特点。 (5 分) (1)封装性 (2)继承性 (3)多态性 五、编程题(共 30 分) 1. 写出一个类 Person,并由该类做基类派生出一个子类 Employee。其中 Person 类具有 Name、Age 两个保护成员变量,分别为 String 类型、整型,且具有公有 的 getAge 成员函数,用于返回 Age 变量的值。Employee 类具有保护成员变量 Employee_no。(10分) import java.util.*; class Person { //定义保护成员 protected int Age; protected String Name; //定义构造函数,初始化类的成员变量 public Person(int age,String name) { Age=age; Name=name; } //返回 Age变量的函数 public int getAge() { 4 return Age; } //输出名字的函数 public void outName() { System.out.print(“姓名---“+Name); } } class Employee extends Person { //定义保护成员 protected int Employee_no; //定义构造函数,初始化类的成员变量 public Employee(int age,String name,int no) { //先调用父类的构造方法 super(age,name); Employee_no=no; } } public class ceshi { static Scanner reader=new Scanner(System.in); public static void main(String args[]) { System.out.print(“请输入雇员的姓名:“); String name=reader.nextLine(); System.out.print(“请输入雇员的编号:“); int num=reader.nextInt(); System.out.print(“请输入雇员的年龄:“);