河南理工大学计算机科学与技术学院2015-2016学年第一学期
《Java语言基础》试卷(A卷)
考试方式:闭卷 本试卷考试分数占学生总评成绩的70% 一、 单项选择题(每题1分,共10分)
1、Java语言的许多特点中,下列哪个特点是C++语言所不具备的?()
A、高性能 B、跨平台 C、面向对象 D、有类库 2、不允许作为类及类成员的访问控制符的是()
A、public B、private C、static D、protected 3、Java中()
A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、一个子类可以有一个父类,但一个父类可以有多个子类 D、以上说法都不对
4、以下标识符中哪项是不合法的()
A、const B、$double C、hello D、BigMeaninglessName 5、Java源文件名必须与()相同
A、类名 B、public类名 C、方法名 D、属性名 6、Java每个源文件中之多只能定义()个公共类 A、0 B、1 C、大于2 D、2 7、自定义的异常类可以从下面那个类继承()
A、Error类 B、AWTError类 C、VirtualMachineError
类 D、Exception及其子类()
A、数据类 B、位流 C、字节流 D、字符流 9、下列关于继承的说法,正确的是:() A、子类能够继承父类的非私有方法和状态 B、子类能够继承父类的所有方法和状态 C、子类能够继承父类的public方法和状态 D、子类只能继承父类方法,不能继承父类状态
10、下面那个类是Java中所有类的父类,Java语言的所有类都直接或间接继承该类()
A、Class类 B、System类 C、Object类 D、Root类 二、填空题(每题1分,共10分)
1、JDK安装时需要配置的环境变量包括: 和 。 2、Java中用于引入包的语句是: 。 3、在一个Java类里面,使用 表示属性,使用 表示行为。
4、Java创建对象使用的关键字为 。 5、构造方法的特殊之处在于:(1) ,(2) ,(3)只能使用new关键字调用。
6、Java中异常处理常用的处理方法有两种,分别是: 与 。
7、Java的四种访问权限由宽至严分别为:公共的、 、 、和私有的。
8、Java中创建一个文本文件并向文件中写入字符要用 类及其方法 。
9、Java中不能生成任何实例对象的类被称为 类,使用 关键字修饰。
10、Java中表示文件的类为 ,如果表示的文件在文件系统中不存在,可以调用 方法创建该文件。
三、编写程序(共60分) 1、已知函数
请设计一个方法实现上面的函数,根据传入的值X的不同,返回对应的Y值。(10分)
public class Test02 { }
public static void main(String args[]) { }
public static int function(int x) { }
int y; if (x > 0) { }
return y;
y = x + 3; y = 0;
y = x * x - 1; } else if (x == 0) { } else {
int y = function(0); System.out.println(y);
2、请按照以下要求设计一个学生类Student,并测试。要求如下:
(1)Student类中包含姓名、成绩两个属性。
(2)分别给这两个属性定义两个方法,一个方法用于设置值,一个方法用于获取值。
(3)Student类中定义一个无参构造方法和一个接收两个参数的构造方法,两个参数分别为姓名与成绩赋值。
(4)在测试类中建立两个Student对象,一个使用无参的构造方法,然后给构造方法给姓名与成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名与成绩赋值。(10)
class Student { }
public class Test01 {
public static void main(String[] args) {
Student stu1 = new Student(); stu1.setName(\stu1.setGrade(99);
Student stu2 = new Student(\private String name; private double grade; public Student() { }
public Student(String name, double grade) { }
public String getName() { }
public void setName(String name) { }
public double getGrade() { }
public void setGrade(double grade) { }
this.grade = grade; return grade; this.name = name; return name; this.name = name; this.grade = grade;
}
}
3、设计一个学生类Student和它的一个子类Undergraduate,要求如下:
(1)Student类有name与age属性,一个包含两个参数的构造方法,用于给name与age属性赋值,一个show()方法打印Student的属性信息。
(2)本科生类Undergraduate增加一个degree属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name与age属性赋值,第三个参数给degree赋值,一个show()方法用于打印Undergraduate的属性信息。
(3)在测试类中,分别创建Student对象与Undergraduate对象,调用他们的show()方法。(10)
class Student { }
class UnderGraduate extends Student{
public String degree;
public UnderGraduate(String name,int age,String degree){ }
public void show(){
super(name, age); this.degree=degree; public String name; public int age;
public Student(String name,int age){ }
public void show(){ }
System.out.println(\this.name=name; this.age=age;