面向对象技术Java-期末复习试卷(四)
- 格式:docx
- 大小:78.49 KB
- 文档页数:11
昆明理工大学《面向对象程序设计(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面向对象程序设计复习试题+解析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语言与面向对象程序设计期末复习题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期末考试试题一、选择题(每题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期末考试试题## 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语言程序设计》期末考试试题及部分答案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面向对象程序设计期末考试题及答案一、选择题(每题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中,一个类可以继承______个父类。
《面向对象程序设计JA V A语言程序设计》期末考试试题及部分答案1一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是(B )。
int m=3, n=6,k=0;while((m++) < (-— n))++k;A)0 B)1 C) 2 D)32.设i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是(B )。
A)i = i + 2 B)a[0]= 7;C)i++ — --j;D)a(0)= 66;3.Java语言的类间的继承关系是(B )。
A)多重的B)单重的C)线程的D)不能继承4.设有定义int i = 6 ;,则执行以下语句后,i 的值为(C )。
i += i - 1;A) 10 B)121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。
A)interface B)package C) extends D) class6.若已定义byte[ ] x= {11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是( C )。
A)x[5—3]B)x[k] C) x[k+5] D)x[0]7.下列语句序列执行后,ch1 的值是( B )。
char ch1=’A’,ch2=’W’;if(ch1 + 2 〈ch2 )++ch1;A)‘A' B) ‘B’ C) ‘C' D) B8.下列语句序列执行后,i 的值是(D )。
int i=8,j=16;if( i-1 〉j )i—-;else j——;A)15 B) 16 C) 7 D)89.下列语句序列执行后,k 的值是(C )。
int i=10, j=18,k=30;switch(j — i ){case 8 :k++;case 9 :k+=2;case 10:k+=3;default :k/=j;}A)31 B) 32 C)2 D)3310.下面语句执行后,i 的值是(B )。
Java面向对象程序设计复习题一、选择题1、下列哪个是Java中的关键字(C )。
A、runB、IntegerC、defaultD、implement2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。
A、Applet是Container的一种B、Applet是Window的一种C、Applet是Component的一种D、Applet是Panel的一种3、下列类DataOutputStream的构造方法正确的是(A )。
A、new dataOutputStream(new FileOutputStream(“out.txt”));B、new dataOutputStream(“out.txt”);C、new dataOutputStream(new writer(“out.txt”));D、new dataOutputStream(new FileWriter(“out.txt”));4、在switch(表达式)语句中,表达式的类型不能为(C )。
A、byteB、charC、longD、int5、在接口MouseMotionListener中方法正确的是(A )。
A、Public void mouseDragged(MouseEvent)B、Public boolean mouseDragged(MouseEvent)C、Public void mouseDragged(MouseMotionEvent)D、Public boolean MouseDragged(MouseMotionEvent)6、下面是一些异常类的层次关系ng.Exceptionng.RuntimeExceptionng.IndexOutOfBoundsExceptionng.ArrayIndexOutOfBoundsExceptionng.StringIndexOutOfBoundsException假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。
期末复习试卷(四)单项选择题1、关于静态变量的概念,下列哪一个正确A. 一旦一个静态变量被分配,它的值就不允许改变 .B. 一个静态变量在方法中被创建,它在被调用前保留上一次调用的结果C. 在任意多个类的实例中,它们共享类定义的静态变量D. 在任意多个类的实例中,它们各有自己的静态变量 . 正确答案: B2、选出下面不能作为void Med(i nt x)方法重载的声明。
A. void Med (double y)B. int Med (int y)C. double Med (int x, int y)D. public float Med (float x)正确答案: B3、下列哪一个不正确A. 一个抽象类必须定义抽象方法 .B. 定义了抽象方法的类必定是抽象类 .C. 一个接口中,定义的每一个方法必须是抽象方法.D. 一个接口中,定义的每一个成员变量必须是常量.正确答案: A4 、 Circle 是 GeometricObject 的子类。
如果有语句: Circle circle = newCircle(1);GeometricObject object = new GeometricObject(); 那么下面哪个布尔表达式的值为false?A. (circle instanceof GeometricObject)B. (object instanceof GeometricObject)C. (circle in sta nceof Circle)D. (object in sta nceof Circle)正确答案:D5、下列关于变量的叙述哪个是错的?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,输出车辆的最终速度。
private float speed;public Vehicle(){}public Vehicle(float speed){ this.speed = speed;}public float getSpeed() {retur n speed;}public void setSpeed(float speed) { this.speed = speed;}public void speedUp(float speedUp){if ((speed + speedUp)>240)speed = 240;elsespeed += speedUp;}public void speedDow n( float speedDow n){ if ((speed - speedDow n)< 0) speed = 0;elsespeed -= speedDow n;}}2、创建一个BMI计算器。
编写一个程序,用户输入个人的身高(m)、体重(kg),计算他的BMI,并显示体重状况。
使用两个文本域分别接受用户输入的身高和体重。
当用户点击计算BM” 按钮,在另外两个文本域中分别显示BMI的数值以及体重状况。
计算BMI的公式如下:BMI =体重公斤数/ (身高米数X身高米数)。
根据BMI,可以判断个人的体重状况如下:RMT <18.5 1E5 v= BMI 25.0 25.0 v= BK4T v 30.030.( J u= HKTT GUI 效果可参考如下* BMI Olcvihtor 巳.1 public class BMI { private String name;private int age;private double weight; // i n pou ndsprivate double height; // i n in chespublic static final double KILOGRAMS_PER_POUND = 0.45359237;public static final double METERS_PER_INCH = 0.0254;public BMI(Stri ng n ame, int age, double weight, double height) {this .n ame = n ame;this.age = age;this.weight = weight;this.height = height;}public BMI(Stri ng n ame, double weight, double height) {this (n ame, 20, weight, height);}I nler pretci t u>nT Tiulerweigh* Ntirmul< A er^eipht < >bexe public BMI(double weight,double height){ this("Mary",20,weight,height);}public double getBMI() {double bmi = weight / (height * height ); return Math.round(bmi * 100) / 100.0;}public Str ing getStatus() {double bmi = getBMI();if (bmi < 18.5)retur n "Un derweight";else if (bmi < 25)return "Normal";else if (bmi < 30)return "Overweight";elsereturn "Obese";}public Stri ng getName() {return n ame;}public int getAge() {return age;}public double getWeight() {return weight;}public double getHeight() {retur n height;}3、模拟一个用户登录GUI,在用户输入用户名和密码后,点击登录按钮,在控制台下显示相应信息。
效果如图1所示。
如果用户输入正确的用户名和密码信息,并按下登录”按钮,则显示效果如图2 所示。
图2输入正确的登录信息(GUI)及其系统提示信息(控制台)如果用户输入错误的用户名或密码信息,并按下登录”按钮,则显示效果如图3所示。
图2输入错误的登录信息(GUI)及其系统提示信息(控制台)编写程序实现图1的GUI,并使用Java事件处理模型,处理登录”按钮,显示图2或图3所示的控制台信息。
注:假设有效用户名为大鲨鱼”有效密码为“123456。
密码输入框可以使用组件类PasswordField,基本用法参考一般文本框。
import javafx.applicatio n.Applicatio n;import javafx.sce ne.Sce ne;4、设计一个名为 Account的银行账户类,包括:(1)一个名为id的int类型私有账户数据域(默认值为0)。
(2)一个名为balanee的double类型私有账户数据域(默认值为(3)一个能创建默认账户的无参构造方法。
(4) 一个能创建带特定id和初始余额的账户的构造方法。
(5) id、balanee的访问器和修改器。
(6) —个名为withDraw的方法从账户提取特定数额。
(7) —个名为deposit的方法向账户存储特定数额。
实现Account类,在测试方法中,创建一个账户 ID为1122、余额为20000美元的Account对象。
使用 withdraw 方法取款 2500美元,使用 deposit方法存款 3000美元,然后打印账户和余额。
public int getId() {return id;}public void setld(i nt id) {this.id = id;}public double getBala nce() {retur n bala nee;}public void setBala nce(double bala nee) { this.bala nee = bala nee;}public void withdraw(double mon ey){if (bala nee > mon ey){bala nee -= mon ey;}elseSystem.out.println("余额不足");}public void deposit(double mon ey){bala nee += mon ey;}}。