JAVA期末复习和答案.docx
- 文档编号:27083297
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:25
- 大小:26.09KB
JAVA期末复习和答案.docx
《JAVA期末复习和答案.docx》由会员分享,可在线阅读,更多相关《JAVA期末复习和答案.docx(25页珍藏版)》请在冰豆网上搜索。
JAVA期末复习和答案
Java期末复习题
一、选择题:
1、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 (B)
A. 类 B. 对象 C. 函数体 D. 数据块
2、定义一个不能被继承的名为Abc的类的正确方法是(E)
A.classAbc{}B.nativeclassAbc{}
C.abstractfinalclassAbc{}D.classAbc{final;}E.finalclassAbc{}
3、若要生成ClassA类的一个对象a,以下书写正确的是(A)
A.ClassAa=newClassA(); B.ClassAa=newClass();
C.a=newClassA(); D.ClassAa=ClassA();
4、类的构造函数被自动调用执行的情况是在定义该类的 (c)
A. 成员函数时 B. 数据成员时C. 对象时 D. 构造函数时
5、编译运行下面程序时有何种结果?
请选择一个正确的答案(A)
classTest{
publicstaticvoidmain(){
System.out.println("hello");
}
}
A.程序不能编译,因为main()方法定义不正确。
B.程序能编译,但不能运行,因为class未声明为public的。
C.程序能无错地编译并运行,但运行时将产生异常。
D.程序运行时显示“hello”。
6、关于抽象方法的说法正确的一项是(A)
A、可以有方法体B、可以出现在非抽象类中
C、抽象方法是没有方法体的方法D、抽象类中的方法都是抽象方法
7、假定AB为一个类,则执行ABx=newAB();语句时将自动调用该类的(B)
A.有形参构造函数 B.无形参构造函数 C.其他成员函数 D.重载函数
8、编译并运行如下程序后,结果是什么?
请在给出的选项中选择出正确的答案(E)
classArray{
publicstaticvoidmain(String[]args){
intlength=100;
int[]d=newint[length];
for(intindex=0;index System.out.println(d[index]); } } A.因为int[]数组声明不正确,程序不能被编译。 B.程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常。 C.程序将显示数字0到99,然后将抛出一个ArrayIndexOutOfBoundsException异常。 D.程序被编译,但println()方法将抛出一个NoSuchMethodException异常。 E.程序正常运行,并显示100个0。 9、下列关于接口的说法正确的是哪一项(D) A.接口与抽象类是相通的概念B.实现一个接口必须实现接口的所有方法 C.接口之间不能有继承关系 D.一个类可实现多个接口 10、 实现运行时的多态性用(A) A.重载方法 B.构造方法 C.非重载方法 D.抽象方法 11、哪一种布局管理器是从上到下、从左到右安排组件,当移动到下一行时是居中的(B) A.BorderLayoutB.FlowLayoutC.GridLayout D.CardLayoutE.GridBagLayout 12、下列对继承的说法正确的一项是(B) A.子类能继承父类的所有方法和状态B.子类能继承父类的非私有方法和状态 C.子类只能继承父类的public方法和状态D.子类只能继承父类的方法,而不能继承状态 13、Java语言中,如果你有下面的类定义: abstract class Shape { abstract void draw();} class Square extends Shape{ } 如果你试图编译上面的代码会发生(B)。 A.一切成功编译 B.Shape可以编译Square不能编译 C.Square可以编译Shape不能编译 D.Shape、Square都不能编译 14、下面代码是做什么的(E) JTextFieldtf=newJTextField(30); A.代码不合法。 在JTextField中,没有这样的构造方法 B.创建了一个30行的JTextField对象,但没进行初始化,它是空的。 C.创建了一个30列的JTextField对象,但没进行初始化,它是空的。 D.创建一个有30行文本的JTextField对象。 E.创建一个有30列文本的JTextField对象。 15、构造方法何时被调用(B) A、类定义时B、创建对象 C、调用方法时D、使用对象的变量时 16、int[] my_Array; my_Array=new int[5]; for(int count=0;count<=5;count++) System.out.println(my_Array[count]); 以上Java代码运行的结果是(d)。 A.将1,2,3,4,5输出到屏幕B.将0,1,2,3,4输出到屏幕 C.将0,1,2,3,4,5输出到屏幕D.将出现运行时异常 17、给出如下代码: classTest{ privateintm; publicstaticvoidfun(){ //somecode... } } 如何使成员变量m被函数fun()直接访问? (C) A、将privateintm改为protectedintmB、将privateintm改为publicintm C、将privateintm改为staticintmD、将privateintm改为intm 18、下面对形参的说法中哪一项是正确的(C) A.必须有两个B.至少有一个 C.可以没有D.至少有两个 19、在JAVA编程中,Java编译器会将java程序转换为(A)。 A.字节码 B.可执行代码 C.机器代码 D.以上所有选项都不正确 20、下面的表达式中正确的是(b) A.Strings=″你好″;inti=3;s+=i;B.Strings=″你好″;inti=3;if(i==s){s+=i}; C.Strings=″你好″;inti=3;s-=i;D.Strings=″你好″;inti=3;s=i+; 21、下列说法中正确的一项是(D) A.不需要定义类就能创建对象B.对象中必须有简单变量 C.属性必须是简单变量D.属性可以是简单变量,也可以是一个对象 22、在JAVA编程中,以下(B)命令用来执行java类文件。 A.Javac B.java C.appletviewer D.以上所有选项都不正确 23、下列语句片段 inta=10,b=4,c=20,d=6; System.out.println(a++*b+c*--d); 的结果为(C) A.144 B.28 C.140 D.不能执行 24、下列说法哪一个是正确的(A) A.类是变量和方法的集合体 B.数组是无序数据的集合 C.抽象类可以实例化 D.类成员数据必须是共有的 25、JAVA中,使用(C)修饰符时,一个类能被同一包或不同包中的其他类访问。 A.private B.protected C.public D.final 26、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C) A、protectedB、staticC、privateD、public 27、关于对象成员占用内存的说法哪一项是正确(B) A.同一个类的对象公用一段内存 B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上说法都不对 28、JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()”,该语句(C)。 A.调用类Worker中定义的super( )方法B.调用类Person中定义的super( )方法 C.调用类Person的构造函数D.语法错误 29、当方法遇到异常又不知如何处理时,下列哪种说法是正确的(B) A.捕获异常 B.抛出异常 C.声明异常 D.嵌套异常 30、执行下面的赋值语句后,a的值为(B) A=Float.valueOf(“12.34”).floatValue(); A.a=”12.34”B.a=12.34 C.a=1234D.a=12 31、JAVA语言中,下面关于类的描述正确的是(B)。 A.一个子类可以有多个父类B.一个父类可以有多个子类 C.子类可以使用父类的所有D.子类一定比父类有更多的成员方法 32、下列符号中不能作为Java标识符的是(C) A.条件B.xyzC.45sixD.ω 33、下列关于一个二维的整型数组的定义,不正确的是(A) A.inta[10][10]=newint[][];B.int[]a[]=newint[10][10]; C.int[][]a=newint[10][10];D.inta[][]=newint[10][10]; 34、JAVA是一种完全面向(B)的语言。 A.过程 B.对象 C.组件 D.服务 35、下列哪些不是Java的关键字(B) A.extendsB.openC.classD.ifE.import 36、定义一个表示20个值为null的字符串数组,下面选项正确的是(D)。 A、String[]a;B、Stringa[]; C、chara[20][];D、Stringa[]=newString[20]; 37、JAVA中,实现继承的关键字是(C)。 A.Public B.class C.extends D.implements 38、在Java语言中,整型常数123占用的存储字节数是(C) A.1B.2C.4D.8 39、设x=1、y=2和z=3,者表达式y+=z--/++x的值是(b) A.3B.3.5C.4D.4.5 40、application中的主类需包含main方法,main方法的返回类型是(D)。 A.intB.floatC.doubleD.void 41、在Java语言中,'\u0041'在内存中占用的字节数是(D) A.2B.4C.6D.8 42、应用程序中的main()方法返回的类型是(A) A.voidB.StringC.charD.int 43、下程序片段,不能插入到第1行的是(b)。 1. 2. class A{ 3. //do sth 4. } A.public class MainClass{ }B.int x=1; C.class ANotherClass{ }D.import java.util.*; 44、下面可作为public void aMethod( ){...}重载方法的是(C)。 A.void aMethod( ){...} B.public int aMethod(){...} C.public void aMethod ( ){...} D.publicint aMethod ( int m){...} 45、下面哪个语句会产生编译错误(C) A、floatF=4096.0F;B、doubleD=4096.0; C、byteB=4096;D、charC=4096; 46、假设A类有如下定义: class A {int i; static String s; void method1() { } static void method2() { } } 设a是A类的一个实例,下列语句调用错误的是(C)。 A.System.out.println(a.i);B.a.method1(); C.A.method1(); D.A.method2() 47、在Java语言中,实型常数45.67在内存中占用的字节数是(C) A.1B.2C.4D.8 48、下列关于实型变量书写正确的是(C) A.E3B.2e0.3C.1.2e3D.1.2E0.3 49、下列数据是常量(A) A、nullB、nameC、ED、ff 50、选出所有不合法的表达式(D) A.(true&true)B.(4! =5&5==6) C.(intmyInt=0>3)D.floatmyFloat=40.0; 51、在Java语言中,'\u0041'在内存中占用的字节数是(D) A.15B.2C.4D.8 52、不允许作为类及类成员的访问控制符的是(B)。 A. public B. private C. static D. protected 53、设有代码: Booleanb1=newBoolean(true); Booleanb2=newBoolean(true); 下面表达式是返回true的合法表达式(B) A.b1==b2B.b1.equals(b2) C.b1&b2D.b1|b2 54、现有两个类M、N,以下描述中表示N继承自M的是(D)。 A、classMextendsNB、classNimplementsM C、classMimplementsND、classNextendsM 55、下列哪个选项是合法标识符(A) A._bookB.5filesC.+staticD.-3.1415926 56、下列与其它选项不等的是(D) A.2B.0xFC.015D.0XF 57、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 58、下列类定义中哪些是合法的抽象类定义(d) A.classAnimal{abstractvoidgrowl();} B.abstractAnimal{abstractvoidgrowl();} C.classabstractAnimal{abstractvoidgrowl();} D.abstractclassAnimal{Abstractvoidgrowl();} E.abstractclassAnimal{abstractvoidgrowl(){System.out.println(“growl”);}} 59、下列选项不属于Java保留字的是(A) A.nullB.falseC.sizeofD.true 60、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A. .java B. .class C. .html D. .exe 二、填空题: 1、一个Java的图形用户界面的最基本组成部分是组件。 2、登录Sun公司网站.java.sun.,能够看到有关J2SE、J2EE和J2ME的信息。 无论哪种Java运行平台,都包含了相应的解释器,解释器负责将字节码文件加载到内存,然后采用解释方式执行字节码文件。 3、在Java语言的简单数据类型中,占存储空间最少的数据类型byte. 4、局部变量只能在声明它的方法或者语句块中使用,而且使用之前必须进行赋值。 5、Java语言共有三种注释,分别是//,/*…*/,/**…*/。 6、Java程序必须经过编译,再经过虚拟机才能执行。 通过编译器,Java语言源程序转换成与平台无关的中间编码,Java称之为字节码。 字节码再经过解释器的解释,转换为机器码,便可在计算机上运行。 任何可以运行Java字节码的程序都可以看成是,如浏览器和Java的开发工具等都可以看成是JVM的一部分。 7、在Java语言中,如果赋值运算符=两边的操作数类型不一致,并且左边操作数类型的优先级低于右边操作数类型的优先级,则需要对右边操作数进行强制转换。 8、编译.java文件使用的命令是javac。 9、抽象类体中,可以包含抽象方法,也可以不包含抽象方法,但类体包含抽象方法的类必须要声明为抽象类。 抽象类不能实例化,即使抽象类中没有声明抽象方法,也不能实例化。 10、画线的语句应该修改为staticintvar=100; ,程序才能通过编译运行 classMyClass{ intvar=100; staticintgetVal(){ returnvar; } } 11、83%9的值是2。 12、构造方法仅用于实例化对象,对成员变量进行初始化;成员方法用于对变量进行多种操作。 子类对父类的私有成员没有访问权限,子类对父类的成员变量和成员方法具有访问权限。 子类虽然继承了父类的成员变量和成员方法,但并不是对父类所有成员变量和成员方法都具有访问权限,即并不是在自己声明的方法中能够访问父类所有成员变量或成员方法。 13、Java中采用接口降低程序的复杂性,提高编程效率,只要是因为它使代码可重用。 14、接口可以看成是仅容纳抽象方法、常量,而又不能直接生成对象的特殊抽象类。 15、BorderLayout布局类的所在类包是java.awt。 16、在Java中,所有的类都是通过直接或间接地继承java.lang.Object得到的。 17、监听按扭被按下事件的监听器是ActionListener。 18、在求解运算速度要求不高,但是要求程序简洁的问题时,通常采用结构。 19、new是实例化对象的操作符。 30、Java使用16位的Unicode字符集,因此,Java字符是一个16位的无符号整数。 31、抛出异常的关键字是throw和throws。 32、Java的浮点类型包括double和float两种。 33、表达式16.8%5的结果是1.8。 34、当方法有返回值时,必须在该方法体内使用return语句。 35、保留字final是用于定义常量,定义值以后不能再改变。 36、如果子类中的某个方法的方法头与他的父类中的某个方法的方法头完全一样,但方法实现的功能不同,称为子类对父类中同名方法的覆盖。 37、Java源文件中可以有1个public类。 38、在Java中有两种多态,一种是使用方法的重载实现多态,另一种是使用方法的覆盖实现多态。 三、判断题 1、Java的类不允许多重继承,但接口支持多重继承。 (T) 2、无论AWT还是Swing设计的GUI组件必须要放置于容器中(T)。 3、在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。 (F) 4、Java是面向对象程序设计语言(T)。 5、在一个Java源程序文件中,可以有多个public类。 (F) 6、子类向上转换成父类类型是安全的()。 7、abstract方法所在的类必须是abstract类。 (T) 8、Java采用的是半编译半解释方式(F)。 9、使用方法length( )可以获得字符串或数组的长度。 (T) 10、接口中的方法都是abstarct方法(T)。 11、即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空(T) 12、静态方法不能使用this、super来调用(T)。 13、无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一名为A的字节码文件(F) 14、方法重载和方法改写都要求方法的返回类型必须相同(T)。 15、当通过实现Listener接口完成事件处理时,要同时实现该接口中的所有方法。 (T) 16、子类构造方法中的第一条语句一定是通过super()调用父类的对应入口参数的构造方法或是通过this()调用本类的另一对应入口参数构造方法(T)。 17、Package语句必须放在程序的第一句。 (T) 18、java中类是单一继承性,而接口是多继承性(T)。 19、因为Java不支持多继承,所以定义类时implements关键字后面只能说明一个接口名(F) 20、接口中定义的数据字段一定是常量(T)。 四、简答题 1、在右边的矩形框中写出该程序运行的结果。 publicclassTest {publicstaticvoidmain(String[]args) {ClassBcb1=newClassB (1); ClassBcb2=newClassB (1); if(cb1.x==cb2.x){System.out.println("cb1==cb2");} else{System.out.println("cb1! =cb2");}} } classClassB {intx; ClassB(intx){this.x=x;} } 答案: cb1==cb2 2、将下面的switch语句用嵌套的if语句表示出来 switch(choice){ case1: a=0; b=0; break; case2: a=1; b=1; break; case3: a=2; b=2; break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末 复习 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)