|
东华大学继续教育学院
2022春季学期 远程学历教育《Java程序设计》考试试卷
踏实学习、弘扬正气、诚信做人、诚实考试、作弊可耻、后果自负
A卷 √ B卷 C卷 D卷 开卷 √ 闭卷
班级 姓名 学号 成绩
资料一律做在答题纸上,做在试卷上无效。
项目 一 二 三 四 五 六 总分
成绩
一、 是非题(本大题共10小题,更多资料下载:谋学网(www.mouxue.com)1分,共10分)
注意答题方式:在系统上作答,选择A表示正确,选择B表示错误。
(1) Java是面向过程的程序设计语言。 ( )
(2) 面向对象的程序设计语言通过方法的重载来实现多态。 ( )
(3) Java源程序经编译器javac编译后生成二进制字节码,然后在JVM上执行。 ( )
(4) 派生类享有父类的所有属性和方法。 ( )
(5) 在派生类中可以直接访问父类的protected成员 。 ( )
(6) 可以用new操作创建抽象类的对象。 ( )
(7) Java程序中的垃圾回收通常由Java系统自动完成。 ( )
(8) 一个线程是一个程序的完整执行。 ( )
(9) 在Java中,关键字this是JVM为对象创建的指针,引用对象自身。
( )
(10) Java类可以从多个类派生。 ( B )
二、 填空题(每空1分,共30分)
1. 面向对象程序设计的三大特性是____ _____、________、____ _____。
2. 类中的成员包括___________、_____ ______两大类。
3. 类的静态成员的可以通过类的_______来访问,也能能直接通过__________来访问。
4. Java 程序中类成员的访问控制修饰符有______、______与________,缺省访问权限(无修饰符)的类和成员可在________内访问。
5. 在Java语言中,图形用户界面GUI组件可分为_ 组件和_ _组件。
6. Java语言系统内置的3个流对象分别是_ _、____________、____________。
7. Java程序中的所有线程类都必须实现接口_______¬¬¬¬¬¬¬____¬¬¬¬¬¬¬_,其中的方法__________¬¬¬¬¬¬¬__决定了线程的执行行为。
8. Java程序中初始化数组有_________、__________两种方法。
9. Java程序总是由_______、________执行的。
10. 程序填空题
(1) 欲将类A的目标文件放在包p1中,在下列程序中的下划线上填上适当的语句引入该包。
_____ ;
class A {
……
}
(2) 补充以下Circle类的构造方法和get方法。
public class Circle {
int r;
public Circle(int r) {
______=______;
}
public int getR( ) { ____________ ; }
}
(3) 以下正方形类Square是从矩形类Rectangle派生定义的,请补充划线部分。
public class Square ______ Rectangle {
public ______ IsSqaue() { return w= =h?ture:false; }
}
(4)
public class Demo {
public static void main(String[] args) {
String s="1000";
int i=Integer. _________ (s);
long l=new Long(s). _________ ( );
}
}
三、更多资料下载:谋学网(www.mouxue.com)与程序分析(本大题共5小题,更多资料下载:谋学网(www.mouxue.com) 5分, 共25分)
1. 请列出Java语言的10大特点。
2. 什么是抽象类?抽象类与接口的差别是什么?
3. 什么是构造函数?其作用是什么?
4. 写出下列程序的执行结果:
public class TQ {
public static void main(String[] args) {
for(int i=1;i<=100;i++)
{
for(int j=1; j<=i; j++)
if(i= = j*j*j) System.out.println(i+"的立方根为:"+j);
}
System.out.println();
}
}
5. 分析以下程序在执行过程中分别输入数字3和字符A的执行结果。
public class Demo2 {
public static void main(String[] args) {
int i=0;
String[] choise={"A","B","C"};
Scanner cin =new Scanner(System.in);
try {
System.out.println("----Flag 1 ----");
System.out.println("请输入你的选项(1,2,3)");
i=cin.nextInt();
System.out.println(choise[i-1]);
System.out.println("----Flag 2 ----");
}
catch(InputMismatchException e) {
System.out.println("----Flag 3 ----");
System.out.println("输入数据格式错,要求是整型!");
System.out.println("----Flag 4 ----");
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println("----Flag 3 ----");
System.out.println("数组越界!");
System.out.println("----Flag 4 ----");
}
finally {
System.out.println("----Flag 5 ----");
System.out.println("执行完毕!");
}
System.out.println("----Flag 6 ----");
}
}
四、编程题(35分)
1. 编写一个Java程序,能从键盘上接收两个整数,然后计算两个数的乘积 (5分)。
2. 斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、…..。在数学上,斐波那契数列以如下递推方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。试编写程序计算第100个斐波那契数F(100)(5分)。
3. 首先定义一个雇员类EMP,类的属性包括雇员编号ID,雇员名Name,年龄Age,性别Sex和专业Major,成员方法包括构造方法、属性的get方法和set方法、显示雇员信息的方法ShowEMP,然后在主类的main()函数中为7号大数据专业的24岁女性雇员任菲定义一个相应的对象emp,并调用对象的ShowEMP ()方法显示其信息(7分)。
4. 定义两个线程类TA和TB,其行为是分别显示“I am Thread A”和“I am Thread B”, 然后在main()函数中创建两个线程的对象,并分别启动两个线程(8分)。
5. 设计一个简单的计算器(10分)。
题目要求:
1) 设计一个框架窗口,窗口布局为Flowlayout;设计3个文本框、4个按钮。
2) 计算器可以完成两个数字的加减乘除4种运算。3个文本框中2个负责接收要计算的数字,剩下的一个显示结果。4个按钮分别显示“+”、“-”、“*”、“/”。
3) 4个按钮用来完成事件处理,即具体的运算工作。当单击其中一个按钮后,结果文本框中显示出相应的计算结果。
|
|