当前位置:文档之家› Java复习题(修改版-每道题的答案都有)

Java复习题(修改版-每道题的答案都有)

Java期末考试复习题一、选择题1、下列概念中,不属于面向对象的是?( D )A、对象B、继承C、类D、过程调用2、下列属于合法的Java标识符的是( D )A、“ABC”B、&5678C、++rriwoD、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(x>0) {System.out.println(“first”);}else if (x>-3) {System.out.println(“second”);}else {System.out.println(“third”);}A、x>0B、x<=0并且x>-3C、x>-3D、x<=-37、属于main()方法的返回类型是( C )A、publicB、staticC、voidD、main8、Java语言使用的字符码集是( D )A、ASCIIB、BCDC、DCBD、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、mainB、importC、public classD、class12、已知:int[]a=new int[100];在下列给出的数组元素中,不正确的是(D )A、a[0]B、a[1]C、a[99]D、a[100]13、阅读下列代码public class Test2{public static void main(string arge[]){System.out.printion(7/2);}}其执行结果是。

(A)A、 3B、 3.5C、0D、 114、下列语句中,属于多分支语句的是(B )A、if语句B、switch语句C、do while语句D、for语句15、下面关于子类和父类构造函数的描述中正确的是(A)A、子类必须通过super关键字调用父类有参数的构造函数B、子类必须通过this关键字调用父类有参数的构造函数C、子类无条件地继承父类不含参数的构造函数D、如果子类定义了自己的含参数的构造函数,就不能再调用父类的构造函数16、下列哪个选项是合法的标识符?(B)A、123B、_nameC、classD、1first17、若有以下类声明:public class A extends B implements C,D{}下面的说法错误的是(A)A、这个类声明是错误的B、类A继承自父类BC、C和D是接口,类头的定义表明类A实现接口C和DD、关键字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、源文件名其扩展名为.jarD、源文件中public类的数目不限24、在Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是(D )A、java.appletB、java.awtC、java.utilD、ng25、若数组a定义为int[][]a=new int[3][4],则a是( B )A、一维数组B、二维数组C、三维数组D、四维数组27、int 型public 成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(C)A、public int MAX_LENGTH=100B、final int MAX_LENGTH=100C、public final int MAX_LENGTH=100D、public const int MAX_LENGTH=10028、下列哪个类声明是正确的?(D)A、abstract final class HI{···}B、abstract private move(){···}C、protected private number;D、public abstract class Car{···}29、为了区分重载的方法,要求(A)A、采用不同的形式参数列表B、返回值类型不同C、参数名不同D、选项A、B、C都对30、下列命题中,错误的是(A)A、Java编程时,要求应尽量多用公共变量B、Java编程时,要求应尽量少用公共变量C、Java编程时,要求应尽量不用公共变量D、Java编程时,要求应尽量使用私有变量31、推出Java语言的公司是( D )A. IBMB. AppleC. MicrosoftD. Sun32、为类定义多个名称相同、但参数不同的方法的做法称为(A)A. 方法重载B. 方法覆盖C.方法继承D. 方法重用33、在子类中重新编写父类方法的做法称为( B )A. 方法重载B. 方法覆盖C.方法继承D. 方法重用34、如果子类没有定义构造方法,则继承父类的(D )A. 所有构造方法B. 所有带参数的构造方法C. 所有方法D. 无参数的构造方法35、定义类时,使用的关键字是( A)A. classB. structC. unionD. array36、在类的修饰符中,规定只能被同一包类所使用的修饰符是( B )A. publicB. 默认C. finalD. 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. publicB. privateC. protectedD. static47、用final修饰的类称为( C )A. 静态类B.抽象类C.最终类D.公有类48、不能用new运算符创建对象的类是( B )A. 静态类B. 抽象类C.最终类D.公有类49、如果希望方法不能在子类中更改,定义方法时要使用的修饰符是(B )A. staticB. finalC. abstractD. native50、如果希望直接通过类名访问方法,在定义时要使用的修饰符是(A)A. staticB. finalC. abstractD. 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. interfaceB. implementsC. extendsD. abstract60、在成员变量的修饰符中,规定只允许该类自身访问的修饰符是(A)A. privateB. publicC. 默认D.protected61、若定义int a=2,b=2,下列表达式中值不为4的是(A)A)a*(++b)B)a*(b++)C)a+bD)a*b62、下列能够正确创建线程的方法是(D)I.继承ng.Thread类,并重写run()方法II.继承ng.Runnable类,并重写start()方法III.实现ng.Thread接口,并实现run()方法IV.实现ng.Runnable接口,并实现run()方法A)I,III B)II,IV C)II,III D)I,IV63、下列线程状态转换序列,在线程实际运行中可能出现的序列是(D)A)新建→运行→阻塞→终止B)运行→阻塞→可运行→终止C)可运行→运行→阻塞→运行……D)新建→可运行→运行→阻塞→可运行……64、设数组Array由以下语句定义int Array=new int[10]则数组的第一个元素的正确引用方法为( B )A、Array[1]B、Array[0]C、Array[]D、Array65、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( D )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout66、当方法遇到异常又不知如何处理时,下列做法是正确的。

相关主题