




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java期末考试复习题一、 选择题1、下列概念中,不属于面向对象的是?( D )A、对象 B、继承 C、类 D、过程调用2、下列属于合法的Java标识符的是 ( D )A、“ABC” B、&5678 C、+rriwo D、saler3、下列叙述中,正确的是 ( A )A、声明变量时必须指定一个类型 B、Java认为number与Number相同C、Java中唯一的注释方式是“/”D、源文件中public类可以有0个或多个4、下列关于类型转换的说法中,正确的是 ( B ) A、将较长的数据类型转换为较短的数据类型可以用自动类型转换 B、将较长的数据类型转换为较短的数据类型只能用强制类型转换 C、强制类型转换可以保证数据完整性 D、boolean类型只能和int类型进行强制类型转换5、按运算符操作数的数目划分,运算符?:的类型是 ( A )A、三目 B、二目 C、一目 D、四目6、下列代码中要求打印字符串为”second”时,x的取值范围是 ( B ) if(x0) System.out.println(“first”); else if (x-3) System.out.println(“second”); else System.out.println(“third”);A、x0 B、x-3 C、x-3 D、x=-37、属于main()方法的返回类型是( C )A、public B、static C、void D、main8、Java语言使用的字符码集是 ( D )A、ASCII B、 BCD C、DCB D、Unicode9、下列关于构造方法的叙述中,错误的是( C ) A、Java语言规定构造方法名与类名必须相同 B、Java语言规定构造方法没有返回值,但不用void声明 C、Java语言规定构造方法不可以重载 D、Java语言规定构造方法只能通过new自动调用10、每个Java小程序必须定义为 ( A )A、Applet 类的子类 B、Jframe类的子类 C、Frame类的子类 D、Window类的子类11、用来导入已定义好的类或包的语句是 ( B )A、main B、 import C、public class D、 class12、已知:inta=new int100;在下列给出的数组元素中,不正确的是( D )A、a0 B、a1 C、a99 D、 a10013、阅读下列代码public class Test2public static void main(string arge)System.out.printion(7/2);其执行结果是。 ( A )A、 3 B、 3.5 C、 0 D、 114、下列语句中,属于多分支语句的是 ( B ) A、 if语句 B、 switch语句 C、 do while语句 D、 for语句15、下面关于子类和父类构造函数的描述中正确的是 ( A ) A、子类必须通过super关键字调用父类有参数的构造函数 B、子类必须通过this关键字调用父类有参数的构造函数 C、子类无条件地继承父类不含参数的构造函数D、如果子类定义了自己的含参数的构造函数,就不能再调用父类的构造函数16、下列哪个选项是合法的标识符? ( B )A、123 B、_name C、 class D、1first17、若有以下类声明:public class A extends B implements C,D下面的说法错误的是( A )A、这个类声明是错误的 B、类A继承自父类B C、C和D是接口,类头的定义表明类A实现接口C和D D、关键字extends指明继承关系18、下列的哪个赋值语句是不正确的? ( C )A、float d = 3.14f ; B、double d = 5.3E12;C、float f = 11.1; D、double f=11.1E10f;19、下列关于Java语言特点的叙述中,错误的是 ( A ) A、Java是面向过程的编程语言 B、Java支持分布式计算 C、Java是跨平台的编程语言 D、Java支持多线程20、下列关于继承的哪项叙述是正确的? ( D )A、在java中允许多重继承 B、在java中一个类只能实现一个接口 C、在java中一个类不能同时继承一个类和实现一个接口 D、java的单一继承使代码更可靠21、已知有下列类的说明,则下列哪个语句是正确的? ( A ) public class Test private float f = 1.0f; int m = 12; static int n=1; public static void main(String arg) Test t = new Test(); A、t.f; B、this.n; C、Test.m; D、Test.f;22、在Java中,负责对字节代码解释执行的是 ( B )A、垃圾回收器 B、虚拟机 C、编译器 D、多线程机制23、下列叙述中,正确的是 ( A )A、Java语言的标识符是区分大小写的 B、源文件名与public类名可以不相同 C、源文件名其扩展名为.jar D、源文件中public类的数目不限24、在 Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是 ( D )A、java.applet B、java.awt C、java.util D、java.lang25、若数组a定义为inta=new int34,则a是 ( B )A、一维数组 B、二维数组 C、三维数组 D、四维数组27、int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是 ( C )A、public int MAX_LENGTH=100 B、final int MAX_LENGTH=100 C、public final int MAX_LENGTH=100 D、public const int MAX_LENGTH=10028、下列哪个类声明是正确的? ( D )A、 abstract final class HI B、 abstract private move() C、 protected private number; D、 public abstract class Car29、为了区分重载的方法,要求 ( A ) A、 采用不同的形式参数列表 B、 返回值类型不同 C、 参数名不同 D、 选项A、B、C都对30、下列命题中,错误的是 ( A ) A、Java编程时,要求应尽量多用公共变量 B、Java编程时,要求应尽量少用公共变量C、Java编程时,要求应尽量不用公共变量D、Java编程时,要求应尽量使用私有变量31、推出Java语言的公司是 ( D )A. IBM B. Apple C. Microsoft D. Sun32、为类定义多个名称相同、但参数不同的方法的做法称为 ( A )A. 方法重载 B. 方法覆盖 C.方法继承 D. 方法重用33、在子类中重新编写父类方法的做法称为 ( B )A. 方法重载 B. 方法覆盖 C.方法继承 D. 方法重用34、如果子类没有定义构造方法,则继承父类的 ( D )A. 所有构造方法 B. 所有带参数的构造方法C. 所有方法 D. 无参数的构造方法35、定义类时,使用的关键字是 ( A )A. class B. struct C. union D. array36、在类的修饰符中,规定只能被同一包类所使用的修饰符是 ( B ) A. public B. 默认 C. final D. abstract37、用abstract修饰的类称为 ( B )A. 静态类 B. 抽象类 C. 最终类 D. 公有类38、下列关于构造方法的特点描述中,错误的是 ( A )A. 不可重载 B. 方法名同类名 C. 无返回类型 D. 系统自动调用39、如果在子类中需要调用父类的带参数构造方法,可以通过super( )调用所需的父类构造方法,且该语句必须作为子类构造方法中的( A )A. 第一条语句 B. 第二条语句 C. 第三条语句 D. 任意位置40、下列关于静态方法的描述中,错误的是 ( D )A. 在类体内说明静态方法使用关键字staticB. 静态方法只能处理静态变量或调用静态方法C. 静态方法不占用对象的内存空间,非静态方法占用对象的内存空间D静态方法只能用类名调用41、下列关于抽象类的描述中,错误的是 ( C )A. 抽象类是用修饰符abstract说明的B. 抽象类是不可以定义对象的C. 抽象类是不可以有构造方法的D. 抽象类通常要有它的子类 42、下列关于继承性的描述中,错误的是 ( D )A. 继承是在已有类的基础上生成新类的一种方法B. 子类继承父类的所有非私有成员C. Java语言要求一个子类只有一个父类D. 父类中成员的访问权限在子类中将被改变43、下列关于类的继承的描述中,错误的是 ( B )A、一个子类只允许一个父类B、一个父类只能生成一个子类C、继承不改变成员权限D、私有成员和构造方法不能继承44、下列关于接口的描述中,错误的是 ( B )A. 接口实际上是由常量和抽象方法构成的特殊类B. 一个类只允许继承一个接口C. 定义接口使用的关键字是interfaceD. 在继承接口的类中通常要给出接口中定义的抽象方法的具体实现45、下列关于方法的描述中,错误的是 ( A )A. 方法只有类的成员方法,再无其他方法B. 方法可以重载和内联C. 对象作为方法参数时,参数传递的是对象地址值D. 方法的返回值是通过return来实现的46、用于修饰类的访问修饰符是 ( A )A. public B. private C. protected D. static47、用final修饰的类称为 ( C )A. 静态类 B.抽象类 C.最终类 D.公有类48、不能用new运算符创建对象的类是 ( B )A. 静态类 B. 抽象类 C.最终类 D.公有类49、如果希望方法不能在子类中更改,定义方法时要使用的修饰符是(B )A. static B. final C. abstract D. native50、如果希望直接通过类名访问方法,在定义时要使用的修饰符是 ( A )A. static B. final C. abstract D. native51、如果类中没定义构造方法,系统会提供一个默认的构造方法。默认构造方法的特点是 ( C )A. 无参数有操作 B. 有参数有操作 C. 既无参数也无任何操作 D.有参数有参数52、一个方法在定义过程中又调用自身,这种方法称为 ( B )A. 构造函数 B. 递归函数 C. 成员函数 D. 抽象函数53、在子类中重新编写父类方法的做法称为 ( B )A. 方法重载 B. 方法覆盖 C.方法继承 D. 方法重用54、下列关于静态成员的描述中,错误的是 ( D )A. 静态成员有成员变量和方法两种B. 静态成员的修饰符是staticC. 静态成员可以使用类名访问,也可以使用对象名来访问D. 静态方法可以访问静态成员变量,也可以访问非静态成员变量55、下列关于类的继承的描述中,错误的是 ( B )A. 一个子类只允许一个父类B. 一个父类只能生成一个子类C. 继承不改变成员权限D. 私有成员和构造方法不能继承56、下列对封装性的描述中,错误的是( B )A、封装体包含了属性和行为B、封装体中的属性和行为的访问权限是相同的C、被封装的某些信息在封装体外是不可见的D、封装使得抽象的数据类型提高了可重用性59、定义接口的关键字是 ( A )A. interface B. implements C. extends D. abstract60、在成员变量的修饰符中,规定只允许该类自身访问的修饰符是( A )A. private B. public C. 默认 D.protected二、填空题1、Java 编译后产生字节码文件,该文件通过 虚拟机 解释执行。2、接口可以看作是仅包括 抽象 方法、常量,而又不能直接生成对象的特殊抽象类。3、Java 语言的循环语句包括 for 语句、do-while 语句和 while 语句。4、Java 中处于类层次关系中最上层的类是 Object 类,它是Java 中所有类的祖先类,也称为根类或基类。5、在 java中,如果小数后没有任何字母,计算机默认的数据类型是 double 。6、构造函数的方法名必须与 类 名相同。使用运算符 new 创建类的对象,给对象分配内空间。7、如果子类中的某个方法的方法头与它的父类的某个方法的方法头完全一样,但方法实现的功能不同,称为子类对父类中同名方法的 覆盖 。8同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的 重载 。9Java源程序的编译命令是 javac 。10、在一个Java源文件中定义了2个类,每个类中都有5个方法,编译该java源文件时会产生 2个字节码文件,其扩展名为 class 。11、在Java语言中,逻辑常量只有 true 和 false 两个值。12、面向对象的软件开发方法用 类 把数据和基于数据的操作封装在一起。13、面向对象技术中,作为对象的基本属性之一的状态,在计算机实现中用对象的 成员变量的值表示。14、如果一个Java 源程序文件只定义有一个类,该类的的类名为MyFristApplet,则存储该源程序的文件名必须是 MyFristApplet.java 。15、Java源程序中只能有一个 public 类,其它类的个数不限。16、接口中定义的抽象方法,其默认的访问权限为 public 。17子类通过关键字 super 调用父类中被覆盖的同名方法。18、一个Java程序可以定义多个类,但只能有一个 public 类。19、在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为 方法重载 。20、 Object 是Java类库中所有类的父类。21、如果子类定义的成员变量与父类的成员变量同名,要表明使用的是父类的成员变量,可以在成员变量前加上关键字 super 。22、 new 运算符的作用是根据对象的类型分配内存空间。23、定义一个Java类时,通过关键字 extends 指明该类的父类。24、一个类可以有 1 个父类。25、当子类使用父类的同名成员变量,必须用关键字 super 说明。26、用public修饰的类称为 公共类 。27、定义子类时,如果没有指出父类,则该类的默认父类为 Object 类。三、判断题1、在Java 源程序文件中可以有多个类,其文件名必须和第一个类名相一致。 ( F )2、在Java源程序文件中必须要有main()方法,它是程序执行的入口。 ( F ) 3、java 的单一继承使代码更可靠。 ( T )4、Java程序的源文件名与public类的名称相同,后缀可以是java或txt等。 ( F )5、在java中允许多重继承。 ( F )6、Java语言的标识符是区分大小写的。 ( T )7、在 Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是java.apple。 ( F )8、方法体中的局部变量必须先赋值后才能使用。 ( T )9、接口中的方法都是抽象方法。 ( T )10、抽象类也可以实例化。 ( F )11、在 Java 中,表示换行符的转义字符是 “n”。 ( T )12、在 Java 中,能实现多重继承效果的方式是接口。 ( T ) 13、java 的应用程序和小程序都必须使用java命令运行。 ( F )14、在Java程序中import语句必须有一个。 ( F )15、Java为移动设备提供的平台是J2SE。 ( F )16、如果一个方法是抽象的,那么它所在的类必定是抽象类,反之如果一个类是抽象的,它其中的方法必定是抽象方法。 ( F )17、同一个类的对象之间可以赋值,且它们分别代表不同的对象。 ( F )18、子类无条件地继承父类不含参数的构造函数。 ( F )19、方法的覆盖与方法的重载是两个相同的概念。 ( F )20、重载的构造函数之间可以通过关键字this在构造函数的任意位置相互调用。 ( F )21、Java提供了许多系统定义类,用户可以直接使用。 ( F )22、final 类可以有子类。 ( F )23、没有分配内存空间的对象不能使用。 ( T )24、抽象类中的抽象方法需要在其子类中编写方法内容。 ( T )25、不可以为类定义多个构造函数。 ( F )26、class不是定义类的唯一关键字。 ( F )27、Java语言只支持单重继承,不支持多重继承。( T )28、Java语言中,对象成员的表示只使用运算符“.”。( T )29、抽象方法一定出现在抽象类中。 ( F )30、对象可以作方法参数,对象数组不能作方法参数。 ( F )31、Java语言中,所创建的子类都应有一个父类。 ( T )32、Java语言中,类的继承是可以传递的。 ( T )33、Object类是所有类的父类。 ( T )34非静态方法中不能引用静态变量。 ( F )35、 抽象方法仅有方法头,而无方法体。 ( T )36、 使用运算符new创建对象时,赋給对象的值实际上是一个地址值。( T )37、 调用this或super的构造方法的语句必须放在第一条语句。 ( T )38、 一个子类不能既是子类又是父类。 ( F )39、 子类可以继承父类的所有成员。 ( F )40、 子类只能继承父类成员,不能修改父类成员。 ( F )四、把下列程序补充完整。 1 public class A (1) extends B public static void main(String args) A a=new A(); a.myfunc2(); public void myfunc1() System.out.println(myfunc1); public void myfunc2() (2) this .myfunc1(); (3) super .myfunc2(); (4) abstract class B abstract public void myfunc1(); public (5) void myfunc2() System.out.println(myfunc2);2下列程序中,要求计算1+2+ .+100的值,显示计算结果,程序运行输出结果如下:sum=5050public class A public static void main(String args) A a=new A(); a.method(); public void method() int sum; (1) sum=0; for(int i=1;i=100;i+) (2) sum=sum+i; (3) System.out.println(“sum=”+sum); 3下面程序定义了一个数组,并将它的每个元素赋值为元素所对应的下标,然后求数组所有元素的和,请将程序补充完整。public class A public static void main(String args) (1) int a; a=new int6; int total=0; for(int j=0; (2) ja.length ;j+) aj= (3)j ; for(int i=0;ia.length; (4)i+ ) total+= (5)ai ; System.out.println(total); 4interface B double area();public class A (1)implements B double r; A(double r) (2)this.r=r; public double area() (3)return Math.PI*r*r; class C public static void main(String args) A a=new (4)A (10); System.out.println(a.area(); 5public class FirstApp final int x=5;/ 定义一个常量public static void main (String args) / 主方法 System .out.println(你好java!); / 打印语句6interface B intk=5;void myMethod();public class A implements B/ 实现接口 public void myMethod() / 实现抽象方法System.out.println(你好java!); 7 class Myclass private int y=5; /定义y为私有变量public static int x=4; / 定义静态变量 public void show() /定义show()为公有方法 y+; System.out.println(y=+y); 8public class FirstApplet extends Appletpublic void paint(Graphics g)Font f1 = new Font(黑体,Font.ITALIC,30); g .drawString(欢迎学习java语言!,20,40);五、回答下列问题 1类中定义的变量和方法体中定义的变量的区别是什么? 1) 类中定义的变量为全局变量,其有效范围为整个类体,方法中定义的变量为局部变量,其有效范围为方法体。 2)类中的变量分为静态变量和类的成员变量 3)类中的变量由构造函数赋初值,方法中的变量必须先赋值后使用 2构造函数和普通方法的区别是什么? 1)构造函数其方法必须与生成对象的类名相同,而方法的名字只要符合标识符的命名规则就行,一般首字母小写。2) 构造函数没有返回值类型,而方法必须要有返回值类型。无参的构造函数由系统自动提供。 3抽象类和接口有何区别?1)接口中定义的方法都是抽象方法,定义的变量都是静态常量,使用关键字interface定义接口,类使用关键字implements实现接口。Java通过引入接口实现了多重继承。 2)抽象类是用关键字abstract修饰的类,在抽象类中可以定义普通方法和抽象方法,甚至可以没有抽象方法;还可以定义变量和常量。子类通过extends关键字继承抽象类。3)一个类可以实现多个接口,但抽象类必须是单继承。 4什么是方法覆盖? 子类重新定义从父类继承来的同名方法称为方法覆盖。子类覆盖父类的同名方法时,方法头应该与父类一样,只是方法体不一样,从而完成满足子类要求的、与父类的同名方法不同的功能。 5定义类A和类B如下: public class A public static void main(String args) A a=new A(); A () System.out.print(A); A(int i) this(); System.out.print(AA); class B extends A B() super(); System.out.print(B); B(int i) super(i); System.out.print(BB); (1)程序的输出结果是什么? A(2)若将main()方法中语句改为:B b=new B(),程序的输出结果是什么? AB(3)若将main()方法中语句改为:B b=new B(1),程序的输出结果是什么?AAABB六、程序设计题1编写一个重载的方法area,用来求圆的面积,矩形的面积,正方形的面积,返回值类型与参数类型一致,在应用程序中使用这三个方法,并输出结果。参考代码public class A double area(double r) return 3.14*r*r; int area(int x,int y) return x*y; int area(int r) return r*r; class B public static void main(String args) A a=new A(); System.out.println(圆的面积是:+a.area(1); System.out.println(矩形的面积是:+a.area(1,2); System.out.println(正方形的面积是:+a.area(1); 2请按如下要求定义两个类A和B,类A中定义一个int类型变量z(将其赋值为16)、一个char类型变量x(将其赋值为65)和一个方法myPrint(),该方法的功能是在屏幕上输出z和x的值。类B是类A的子类,其中定义了一个double类型的变量y(将其赋值为16.0)和String类型的对象s(将其赋值为java program!),还定义了两个方法myPrint()和printAll(),方法myPrint()的功能是在屏幕上输出y和s的值,方法printAll()的功能是分别调用父类和子类的方法myPrint()。编写一个应用程序,创建类B的对象b,调用printAll()方法用来显示z、x、y、s的值。 参考代码public class A int z=16; char x=65; void myPrint() System.out.println(z);System.out.println(x); class B extends A double y=16.0; String s=java program!; void myPrint() System.out.println(y);System.out.println(s); void printAll() myPrint(); super.myPrint(); class C public static void main(String args) B b=new B(); b.printAll(); 3编写三个重载的方法cube,用来求一个数的立方,参数分别是int类型、float类型、double类型。编写应用程序,调用这三个方法。(提示:只定义一个测试类OverLoad,类中有主方法和重载的三个方法)public class OverLoadpublic static void main (String args) int x1=5;floatx2=5.5f;doublex3=3.6;System.out.println(x1+的立方=+cube(x1);System.out.println(x2+的立方=+cube(x2);System.out.println(x3+的立方=+cube(x3);public static int cube(int x)return x*x*x;public static float cube(float x)return x*x*x;public static double cube(double x)return x*x*x;4按照下面的要求实现:l 定义一个家具类Furniture 保护成员变量:颜色color (String)、宽度weight(double) 、高度height(double) 一个抽象方法: String gongNeng( ) 两个构造方法:一个不带参数,一个带参数 一个打印方法:public String toString(),用来生成要打印的信息l 2. 派生一个椅子类Chair:继承了父类的成员 私有成员变量: 腿数 legCount(int) 实现抽象方法: String gongNeng( ) 给出椅子的描述 两个构造方法: 一个不带参数,一个带参数 一个打印方法:public String toString(),用来生成要打印的信息l 3. 编写测试类TestChair,分别创建不带参数和带参数的Chair对象,并输出信息。public abstract class Furniture protected String color; protected double weight; protected double height; Furniture() Furniture(String str,double d1,double d2) color=str; weight=d1; height=d2; abstract public String gongNeng( ); public String toString() return 颜色:+color+t长度:+weight+t高度:+height; / Chair.javapublic class Chair extends Furnitureprivate int legCount; public Chair() public Chair(String str,double d1,double d2,int i) super(str,d1,d2); legCount=i; public String gongNeng() return 这是家用的!; public String toString() return super.toString()+t桌腿数:+legCount+t功能+gongNeng(); / TestChair.javapublic class TestChair public static void main (String args) Chair C1=new Chair(棕色,0.9,0.8,4); System.out.println(C1.toString(); 七、阅读程序1. 分析程序的输出结果public class Class1public static void main (String args) int a=20, b=50,c=100,d;final int e=5;a%=9; b/=7; c%=b; d=a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包装修木工合同3篇
- 食堂托管管理合同营养健康方面的补充协议3篇
- 绿化合伙人协议书5篇
- 合作合同范本哪里卖
- 委托加工油合同范本
- 合同范本开头怎么写
- 场地出租合同书范文3篇
- 钢材买卖中介合同范本
- 超市商品经销合同范本
- 代理信息咨询合同范本
- 广东省广州市越秀区2025年七年级英语第二学期期末学业质量监测试题含答案
- 第四单元第1课《寻根之旅》课件-人教版初中美术七年级下册
- 治具设计规范与技术标准
- 成人床旁心电监护护理规程
- 2025年高考全国一卷语文试题真题文档版(含答案)
- 红岩中考试题及答案
- 心内科专科护士考试试题及答案
- 会务接待工作流程
- 船舶劳务分包合同协议
- 《医疗的人文关怀》课件
- 非盗抢汽车合同协议
评论
0/150
提交评论