logo资料库

java面向对象程序设计期末考试试卷和答案.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
一、单选题(每小题 1 分,共 30 分) 1.在 MyEclipse 中,( )视图可以将项目中包含的文件及层次结构展示出来。 A) Package B)Declaration 2.下列标识符中,正确的是( )。 C)Navigator D) Console A)class B) 123_rr C) _lei D) test&12 3.下列的( )选项可以正确用以表示八进制值 8。0x 代表 16 进制,0 代表 8 进制 A)0x8 B)0x10 C)08 D)010 4.以下哪个不是 Java 的原始数据类型( ) A) int B) boolean C) float D) Char 引用数据类型 5.下列有关 Java 布尔类型的描述中,正确的是( ) A)一种基本的数据类型,它的类型名称为 boolean B)用 int 表示类型 C)其值可以赋给 int 类型的变量 D)有两个值,1 代表真,0 代表假 6.在 Java 中,不属于整数类型变量的是( ) A) double 浮点型 C) int 7.以下 do-while 语句构成的循环执行次数是( )。 B) long D) byte int k=0; do { ++k ;}while(k<1); A) 一次也不执行 B) 执行 1 次 C) 无限次 D) 有语法错误,不能执行 8.表达式(1/0<1)&& (12==0) 的值为( )。逻辑运算结果只有 true 和 false 两种 A) true B) false C) 0 9.以下( )表达式不可以作为循环条件 D) 运行时抛出异常 A) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是( ) A) int score[5] = {90,12,34,77,56}; B) int[5] score = new int[]; C) int[] score = new int[5]{90,12,34,77,56}; D) int score[] = new int[]{90,12,34,77,56}; 11.若有定义:byte[] x={11,22,33,-66}; 其中 0≤k≤3,则对 x 数组元素错误的引用是( ) A) x[5-3] B) x[k] C) x[k+5] D) x[0] 12.以下代码的输出结果是()。 public static void main(String[] args){ for(int i=1;i<=10;i++){ if(i%2==0||i%5==0){ 第 1页 共 3 页
continue; } System.out.print(i + "\t"); B) 1 3 4 C) 1 3 5 7 9 D) 1 3 7 9 } } A) 1 13.下列( )选项的 java 源文件代码片段是不正确的。 B) import java.io.* ; A) package testpackage; public class Test{} C) import java.io.* ; class Person{} public class Test{} package testpackage; public class Test{} D) import java.io.* ; import java.awt.* ; public class Test{} 14.为了在当前程序中使用包 ch4 中的类,可以使用的语句是( )。 A) import ch4.*; C) import ch4; B) package ch4.*; D) package ch4; 15.下面说法中不正确的是:( ) A) 类是对象的抽象,对象是类的实例 C) java 语言支持多继承 单 B) 类是组成 java 程序的最小的单位 D) java 一个程序中只能有一个 public 类 16.对于下面的不完整的类代码,下面表达式中,( )可以加到构造方法中的横线处。 class person{ String name,department; public void person(String n){ name=n; } public person(String n,String d){ _______________ department=d; } } person p = new person(“jim”); person p = new person(“jim”,”jsjx”); A)person(n) B)this(person(n)) 17.构造方法何时被调用?( ) C)this(n) D)this(n,a); A)类定义时 B)创建对象时 C)调用对象方法时 D)使用对象的变量时 18.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么 该类的正确声明应为 ( )。 (A)private class MyClass extends Object (B)class MyClass extends Object (C)public class MyClass (D)private class MyClass extends Object 19.方法重载是指 ( ) (A)两个或两个以上的方法取相同的方法名,但形参的个数或类型不同 (B)两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同 (C)两个以上的方法名字不同,但形参的个数或类型相同 第 2页 共 3 页
(D)两个以上的方法取相同的方法名,并且方法的返回类型相同 20.如果编写一个 main()方法调用 HelloAccp 类的 show()方法,其运行结果是( )。 public class HelloAccp{ int a=100,b=50; public void avg(){ float c=(a+b)/2; } public void show(){ } } System.out.println("平均值为:“ + c); A)存在错误,提示:无法解析 c B)平均值为:75 C)平均值为:75.0 D)存在错误,提示:无法将数据类型 int 转换为 float 21.对于下列代码: public void printValue(int i, int j) {//... } public void printValue(int i){//... } 1) class Person { 2) 3) 4) } 5) public class Teacher extends Person { 6) public void printValue() {//... } public void printValue(int i) {//...} 7) 8) public static void main(String args[]){ 9) 10) 11) 12) } 第 10 行语句将调用哪行语句?( ) Person t = new Teacher(); t.printValue(10); } A) line 2 B) line 3 C) line 6 D) line 7 22.阅读下面代码: class parent{ protected int addvalue(int a,int b){ int s; s=a+b; return s; } } class child extends parent{ } 若要在 child 类中对 addvalue 方法进行重写,下面对于 child 类中的 addvalue 方法头的描 述()是正确的。 A)int addvalue(int i,int j) C)void addvalue(double i) 23.下列哪个类声明是正确的( ) A) abstract final class H1{…} C) protected private number; 24.Java 中所有类的父类是 B)void addvalue() D)public int addvalue(int a,int b) B) abstract private move(){…} D) public abstract class Car{…} A)Father B)Lang C)Exception D)Object 25.编译如下 Java 代码,输出结果是()。 第 3页 共 3 页
} } } } A) Base method C) Base method Child method B) Child method D) 编译错误 26.下列 Java 代码中 Test 类中的四个输出语句的输出结果依次是()。 class Base{ public void method(){ System.out.print("Base method"); } class Child extends Base{ public void method(){ System.out.print("Child method"); } class Sample{ } public static void main(String[] args){ Base base=new Child(); base.method(); class Person{ String name="person"; public void shout(){ System.out.print(name); } class Student extends Person{ String name="student"; String school="school"; } class Test{ public static void main(String[] args){ Person p=new Student(); System.out.print(p instanceof Student); System.out.print(p instanceof Person); System.out.print(p instanceof Object); System.out.print(p instanceof System); } } A) true、false、true、false C) true、true、true、编译错误 B) false、true、false、true D) true、true、false、编译错误 27.以下关于接口的说法中,正确的是()。 A) 接口中全部方法都是抽象方法,方法可以是任意访问权限 B) 接口中属性都是使用 public static final 修饰,没有显式赋值将使用默认值 C) 接口可以有构造方法 D) 接口表示一种约定,接口表示一种能力,接口体现了约定和实现相分离的原则 28.给定如下 Java 代码,可以填入横线处的语句是()。 public interface Constants{ int MAX = 50; int MIN = 1; } public class Test{ public static void main(String[] args){ 第 4页 共 3 页
_________________ } } A) Constants con = new Constants(); C) int i = Constants.MAX-Constants.MIN ; B) Constants.MAX = 100; D) Constants.MIN>0; 29.请问所有的异常类皆继承哪一个类?( )。 A)java.io.Exception C)java.lang.Exception B)java.lang.Throwable D)java.lang.Error 30.对于 catch 子句的排列,下列哪种是正确的( ) A)父类在先,子类在后 C)有继承关系的异常不能在同一个 try 程序段内 D)先有子类,其他如何排列都无关 B)子类在先,父类在后 得分 评卷人 二、填空题(每空 2 分,共 20 分) 1.Java 有___JavaSE________、___ JavaEE 2 . Java 源 程 序 文 件 编 译 后 产 生 的 文 件 称 为 __ 字 节 码 __________ 文 件 , 其 扩 展 名 为 _________和 JavaME 三个版本。 ___.class________。 3.面向对象编程的三大特性是__封装__________、_____继承________和多态。 4.____抽象(或 abstract)_______方法是一种仅有方法头,没有具体方法体和操作实现的 方法,该方法必须在抽象类之中定义。_____final______方法是不能被当前类的子类重新定义的 方法。 5.子类必须通过__super_____关键字调用父类有参数的构造函数。 6.在 Java 程序中,通过类的定义只能实现单重继承,但通过_____接口 _______ 的 定 义 可以实现多重继承关系。 三、阅读理解题(每题 4 分,共 20 分) 1.下列程序段的运行结果为______6________。 int a=1; while(a<5){ switch(a){ case 0: case 3:a=a+1; case 1: case 2:a=a+2; } } System.out.print(a); 2.下列程序段的运行结果为______________。 class test1{ public static void main(String args[]) { 第 5页 共 3 页
int y,x=1,total=0; while(x<=3){ y=x*x; System.out.println(y); total+=y; ++x; } System.out.println("total is "+total); } } class Q1{ } } class Dec{ } } 3.下列程序段的运行结果为_____10.0_________。 public static void main(String args[ ]){ double d=10; Dec dec=new Dec( ); dec.decrement(d); System.out.println(d); public void decrement(double decMe){ decMe = decMe -5; 4.下列程序段的运行结果为______________。 public class abc{ public static void main(String args[ ]){ SubSubClass x = new SubSubClass(10 , 20 , 30); x.show(); } } } } class SuperClass{ int a,b; SuperClass(int aa , int a=aa; b=bb; } void show( ) { bb){ System.out.println("a="+a+"\nb="+b); } class SubClass extends SuperClass{ int c; SubClass(int aa,int bb,int cc){ super(aa,bb); c=cc; } class SubSubClass extends SubClass { a; int SubSubClass(int aa,int bb,int super(aa,bb,cc); cc) { a=aa+bb+cc; } void show(){ } } System.out.println("a="+a+"\nb="+b+"\nc="+c); 5.下列程序段的运行结果为____234__________。 第 6页 共 3 页
public class Test{ public static void foo(int i){ try{ if(i==1){ throw new Exception(); } System.out.print("1"); }catch(Exception e){ System.out.print("2"); }finally{ System.out.print("3"); } System.out.print("4"); } public static void main(String[] args){ foo(1); } } 图 2 第 7页 共 3 页
分享到:
收藏