面向对象技术Java-期末复习试卷(四)
面向对象程序设计(Java)期末试卷

昆明理工大学《面向对象程序设计(Java)》期末试卷年级:专业:姓名:一、单项选择题(每小题2分,共30分)1.下列不是JAVA的关键字的是( )。
A.constB.nullC.falseD.this2. 在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if-elseB.switchC.tryD.Throw3.在编写Java Application程序时,若需要使用到标准输出语句,必须在程序的开头写上的语句是:( )A.import java:awt.*B.import java:applet.AppletC.import java:io.*D.import java:awt.Graphics4. 编译一个自定义一类,提示:jav(A):lang. NoSuchMethodError;最有可能的错误原因是( )。
A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确5.设a = 3,则表达式a<<a的值为:( )。
A.16B.8C.24D.126.编译一个自定义一类,提示:ng. NoSuchMethodError;最有可能的错误原因是( )。
A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确7.下列叙述错误的是:( )。
A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类8.在下述Java语言语句中,错误的创建数组的方法是( )。
A.int intArray [ ]; intArray=new int[5];B.int intArray [ ]=new int[5];C.int [ ] intArray ={1,2,3,4,5};D.int intArray [5]={1,2,3,4,5};9.Java应用程序中,程序执行的总入口方法是:( )A.init()B.start()C.run()D.main()10.构造ArrayList类的一个实例,下面哪个方法是正确的:( )A.ArrayList myList = newObject();B.ArrayList myList = newArrayList();C.myList = newObject();D.myList=new ArrayList();11.表达式:(x>y)? w:z:(其中x=5,y=9,z=1,w=9)的值为:( )A.5B.8C.1D.912.字符串是Java已定义的类型,关于它的构造函数,下面不正确的是:( )A.String(char[] value, int offset, intcount);B.String(int[] codePoints, int offset,int count);C.String(Stringoriginal);D.String(StringBuffer buffer);13.指出正确的表达式:( )A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;14.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?( )A.FileInputStream in=newFileInputStream("file.dat"); in.skip(9); int c=in.read();B.FileInputStream in=newFileInputStream("file.dat"); in.skip(10); intc=in.read();C.FileInputStream in=newFileInputStream("file.dat"); int c=in.read();D.RandomAccessFile in=newRandomAccessFile("file.dat"); in.skip(9); intc=in.readByte();15.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )A.javaB.classC.htmlD.exe二、判断题(对的打“√”,错的打“×”,每小题2分,共20分)16.一个JAVA类可以有多个父类。
Java面向对象程序设计期末复习试题(附解析)

JAVA面向对象程序设计复习试题+解析1)在JAVA编程中,关于Font下列()是正确的。
(选择两项)a)在我们的程序中可以使用Font类中定义的字体常量。
b)我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c)我们可以自己创建字体实例对象d)以上说明都正确【解析】参考答案:A BFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。
创建Font类的对象时使用的方法:getFont(int face,int style,int size);例如:Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM);无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。
下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小。
这三个参数都是系统中定义好的一些常量。
获得系统的默认字体:Font font = Font.getDefaultFont();ToolKit类是 Abstract Window Toolkit 的所有实际实现的抽象父类。
Toolkit 用于把各种组件绑定到特定的本地工具箱实现上。
该类有个方法getFontList()用于返回该工具箱中可用字体名。
也就是可以获取机器中java所支持的字体的列表。
2)在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。
在类Class_C要应用Class_A的方法A和Class_B 的方法B,你需要()语句。
(选择两项)a)import Package1.*;b)import Package1.Package2.*;c)import Package2.*d)import Package2.Package1.*;【解析】A BJava语言中的包机制就像Windows中的文件夹,用来归类类文件的位置。
面向对象期末考试题及答案

面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。
A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。
A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。
2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
java期末考试试题及答案

java期末考试试题及答案Java期末考试试题一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. packageD. abstract2. Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Integer3. 在Java中,下列哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. clone()D. toString()4. 下列哪个是Java的访问修饰符?A. publicB. staticC. finalD. synchronized5. Java中,哪个关键字用于定义异常类?A. classB. interfaceC. exceptionD. error6. 下列哪个是Java集合框架中的接口?A. ArrayListB. LinkedListC. HashMapD. List7. Java中,哪个关键字用于定义泛型?A. newB. extendsC. implementsD. < >8. 下列哪个是Java的事件监听器接口?A. ActionListenerB. MouseListenerC. KeyEventD. Event9. Java中,哪个关键字用于实现多态?A. newB. overrideC. extendsD. implements10. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. All of the above二、简答题(每题10分,共20分)1. 解释Java中的封装、继承和多态的概念,并给出一个简单的代码示例。
2. 描述Java集合框架中的List和Set接口的区别。
三、编程题(每题15分,共30分)1. 编写一个Java程序,实现一个简单的计算器,能够执行加、减、乘、除四种基本运算。
2024java期末考试试题

2024java期末考试试题## 2024 Java 期末考试试题### 一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. boolean2. Java中,哪个关键字用于定义类?A. classB. interfaceC. packageD. import3. Java中的异常处理机制是通过哪两个关键字实现的?A. try-catchB. if-elseC. for-whileD. switch-case4. 在Java中,哪个类是所有类的父类?A. ObjectB. SystemC. ClassD. String5. 下列哪个是Java集合框架中的接口?A. ArrayListB. HashMapC. ListD. Set6. Java中的多线程是通过哪个类实现的?A. ThreadB. RunnableC. SynchronizedD. Process7. Java的垃圾回收机制是自动进行的,这属于哪种内存管理方式?A. 手动管理B. 自动管理C. 静态管理D. 动态管理8. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global9. Java中,哪个方法用于将字符串转换为整数?A. parseInt()B. toInt()C. convertToInt()D. toInteger()10. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. overrideD. abstract### 二、简答题(每题10分,共30分)1. 简述Java的垃圾回收机制是如何工作的。
2. 解释Java中的多态性,并给出一个例子。
3. 描述Java中异常处理的重要性以及基本的异常处理流程。
### 三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。
面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案资料

面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2、单选择题(每小题2分,共10分1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y + = z ——/+ + x的值是(A。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的(D 方法来完成一些画图操作。
A. start(B. stop(C. i nit(D. paint(4、不允许作为类及类成员的访问控制符的是(C。
A. P ublicB. P rivateC. staticD. p rotected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A。
A. static void method(B. p ublic void method(C. final void method(D. abstract void method(、填空题(每空格1分,共20 分)1、开发与运行Java 程序需要经过的三个主要步骤为 编辑源程序、编译生成 字节码、和解释运行字节码。
2、如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet ,则类MyApplet 必须是Applet 、类的子类并且存储该源程序文件的文 件名为 MyA PP let 。
3、如果一个Java Applet 程序文件中定义有3个类,则使用Sun 公司的JDK 编译器javac.exe 编译该源程序文件将产生 3个文件名与类名相同而扩展名为. class 的字节码文件。
4、在Java 的基本数据类型中,char 型采用Uni code 编码方案,每个Uni code 码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. Java中的继承是?A. 单继承B. 多继承C. 无继承D. 混合继承答案:A3. 下列哪个是Java中的访问修饰符?A. privateB. protectedC. publicD. 以上都是答案:D4. Java中哪个关键字用于实现多态?A. abstractB. finalC. staticD. override答案:D5. Java中接口和抽象类的主要区别是?A. 接口可以有构造方法B. 抽象类可以有构造方法C. 接口不能有构造方法D. 抽象类不能有构造方法答案:C6. 在Java中,下列哪个是正确的方法重载?A. 方法名相同,参数列表不同B. 方法名不同,参数列表相同C. 方法名和参数列表都相同D. 方法名相同,返回类型不同答案:A7. 下列哪个不是Java的集合框架中的接口?A. ListB. SetC. MapD. Stream答案:D8. Java中,下列哪个是线程安全的单例模式实现?A. 懒汉式B. 饿汉式C. 双重检查锁定D. 以上都是答案:B9. Java中,下列哪个是正确的异常处理关键字?A. tryB. catchC. finallyD. 以上都是答案:D10. 在Java中,下列哪个是正确的泛型使用方式?A. List<String> list = new ArrayList<>();B. List list = new ArrayList<>();C. List<String> list = new ArrayList<Integer>();D. List list = new ArrayList<String>();答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承______个父类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末复习试卷(四)
一、单项选择题
1、关于静态变量的概念,下列哪一个正确
A. 一旦一个静态变量被分配,它的值就不允许改变.
B. 一个静态变量在方法中被创建,它在被调用前保留上一次调用的结果.
C. 在任意多个类的实例中,它们共享类定义的静态变量
D. 在任意多个类的实例中,它们各有自己的静态变量.
正确答案:B
2、选出下面不能作为void Med(int x)方法重载的声明。
A. void Med (double y)
B. int Med (int y)
C. double Med (int x, int y)
D. public float Med (float x)
正确答案:B
3、下列哪一个不正确
A. 一个抽象类必须定义抽象方法.
B. 定义了抽象方法的类必定是抽象类.
C. 一个接口中,定义的每一个方法必须是抽象方法.
D. 一个接口中,定义的每一个成员变量必须是常量.
正确答案:A
4、Circle是GeometricObject的子类。
如果有语句:Circle circle = new
Circle(1);GeometricObject object = new GeometricObject();那么下面哪个布尔表达式的值为false?
A. (circle instanceof GeometricObject)
B. (object instanceof GeometricObject)
C. (circle instanceof Circle)
D. (object instanceof Circle)
正确答案:D
5、下列关于变量的叙述哪个是错的?
A. 实例变量是类的成员变量
B. 实例变量用关键字static声明
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化
正确答案:B
二、程序题
1、编写一个应用程序,模拟机动车的加速和减速功能。
机动车类Vehicle的UML图如
下,其中speedUp()方法实现加速功能,速度上限为240 km/h;speedDown()实现降速功能,下限为0 km/h。
解题要求:编写测试程序,创建Vehicle对象,设置初始速度为100 km/h,调用speedDown()方法减速5 km,再调用speedUp()方法提速10 km,输出车辆的最终速度。
2、创建一个BMI计算器。
编写一个程序,用户输入个人的身高(m)、体重(kg),计算他的BMI,并显示体重状况。
使用两个文本域分别接受用户输入的身高和体重。
当用户点击“计算BMI”按钮,在另外两个文本域中分别显示BMI的数值以及体重状况。
计算BMI的公式如下:
BMI = 体重公斤数/(身高米数×身高米数)。
根据BMI,可以判断个人的体重状况如下:
GUI效果可参考如下。
3、模拟一个用户登录GUI,在用户输入用户名和密码后,点击登录按钮,在控制台下显示相应信息。
效果
如图1所示。
图1 基本的登录界面
如果用户输入正确的用户名和密码信息,并按下“登录”按钮,则显示效果如图2所示。
图2 输入正确的登录信息(GUI)及其系统提示信息(控制台)
如果用户输入错误的用户名或密码信息,并按下“登录”按钮,则显示效果如图3所示。
图2 输入错误的登录信息(GUI)及其系统提示信息(控制台)编写程序实现图1的GUI,并使用Java事件处理模型,处理“登录”按钮,
显示图2或图3所示的控制台信息。
注:假设有效用户名为“大鲨鱼”、有效密码为
“123456”。
密码输入框可以使用组件类PasswordField,基本用法参考一般文本框。
4、设计一个名为Account的银行账户类,包括:
(1) 一个名为id的int类型私有账户数据域(默认值为0)。
(2) 一个名为balance的double类型私有账户数据域(默认值为0)。
(3) 一个能创建默认账户的无参构造方法。
(4) 一个能创建带特定id和初始余额的账户的构造方法。
(5) id、balance的访问器和修改器。
(6) 一个名为withDraw的方法从账户提取特定数额。
(7) 一个名为deposit的方法向账户存储特定数额。
实现Account类,在测试方法中,创建一个账户ID为1122、余额为20000美元的Account对象。
使用withdraw方法取款2500美元,使用deposit方法存款3000美元,然后打印账户和余额。