(仅供参考)java期末考试样卷答案解析

上传人:天****库 文档编号:59984115 上传时间:2022-03-05 格式:DOC 页数:17 大小:170.50KB
收藏 版权申诉 举报 下载
(仅供参考)java期末考试样卷答案解析_第1页
第1页 / 共17页
(仅供参考)java期末考试样卷答案解析_第2页
第2页 / 共17页
(仅供参考)java期末考试样卷答案解析_第3页
第3页 / 共17页
资源描述:

《(仅供参考)java期末考试样卷答案解析》由会员分享,可在线阅读,更多相关《(仅供参考)java期末考试样卷答案解析(17页珍藏版)》请在装配图网上搜索。

1、、选择题1.如下哪个字符串是 Java 中的合法标识符?(A )A、field nameB、super C、3numberD、#number2.Java 中 main()函数的返回值是什么类型?(D )A、String B、intC、charD、void3.下列哪些语句关于 Java 内存回收的说明是正确的? (C )A、程序员必须创建一个线程来释放内存B、内存回收程序允许程序员直接释放内存C、内存回收程序负责释放无用内存D、内存回收程序可以在指定的时间释放内存对象4.以下关于继承的叙述正确的是(B )。A、在 Java 中一个类只能实现一个接口B、在 Java 中类只允许单一继承C、在 Ja

2、va 中一个类不能同时继承一个类和实现一个接口D、在 Java 中接口只允许单一继承5.Java Applet 中的 paint()方法使用哪种类型的参数 ? ( A )A、GraphicsB、Graphics2DC、StringD、Color6.在使用 in terface 声明一个接口时,只可以使用(D )修饰符修饰该接口。A、privateB、protectedC、privateprotectedD、public7.下面( B )函数是 public void example( ).的重载函数?A、 public void example( ).B、 public void exampl

3、e( int m ).C、public void example2( ).D、public int example ( ).8.在浏览器中执行 applet 程序,以下选项中的(B、start()C、destroy()D、stop()9.有程序片段如下,以下表示式的结果为Float s=new Float(O.lf);Float t=new Float(0.1f); Doubleu=new Double(O.I);A、 s= =tC、u.equals(s)10.关于异常的含义,下列描述中最正确的一个是(C )。A 程序编译错误B 程序语法错误C 程序运行时的错误D 程序编译和运行时发生的错误1

4、1.类 Panel 默认的布局管理器是(B )。A )方法将被最先执行。A、init()true 的是(B )。B、s.equals(t)D、t.equals(u)A、BorderLayoutB、FlowLayoutC、 GridLayoutD、 CardLayout12. 下面哪个方法与 applet 的显示无关 ? (B)A 、 update()B、draw()C、 repaint()D、 paint()13. 已知如下代码:public class Test public static void main ( String arg )long a = new long10; System

5、.out.println ( a6 );请问哪个语句是正确的? ( B )A 程序输出 null B 程序输出 0 C 因为 long 数组声明不正确,程序不能被编译D 程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException 异常14. Java 语言不是(B)A 、高级语言B 、编译型语言C、结构化设计语言D 、面向对象设计语言15. 关于以下程序段的说明正确的是(C )public class ArrayTest public static void main(String args) try int x=new int-5;System.out.pr

6、intln(此行将无法被执行!); catch(NegativeArraySizeException e) System.out.println(exception:数组下标不能为负数。);A 、编译通过,输出: 此行将无法被执行 !B、编译通过,输出:此行将无法被执行 !exception: 数组下标不能为负数。C、编译通过,输出:exception: 数组下标不能为负数。D、编译不能通过16.Java 源文件和编译后的文件扩展名分别为(B )。A 、 .class 和 .javaB 、 .java 和 .classC、.class 和 .classD 、 .java 和 .java17.以

7、下有关构造函数的说法,正确的是: ( A)。A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用D、构造函数可以和类同名,也可以和类名不同18.为类 Employee 中的一个无形式参数且无返回值的方法 method 书写方法头,以便使用 类名Employee 作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为 ( A ) 。19.下列代码的执行结果是: ( C )。public class Test5public static void main(String args)String s1=new String(hello

8、);String s2=new String(hello);System.out.print(s1=s2);System.out.print(,);System.out.println(s1.equals(s2);A 、 true,falseB 、 true,trueC、 false,trueD、 false,false.20. 下列不是 Java关键字的是 ( D )。A 、 finalB 、 finallyC 、 nullD 、 sizeof21.以下(C )是 java.io 包中的一个兼有输入输出功能的类。A 、 ObjectB、SerializableC、RandomaccessFi

9、leD、java.io 中不存在这样的类22.下面哪个语句正确地声明一个整型的二维数组? ( D )A int a = new int;B int a100100 = new int;C int a = new int100100;D int a = new int100100;23.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名A、static void method( ) C、final void method( )B、public void method( )D、 abstract void method( )为 ( B )。A .jav

10、aB.classC .htmlD .exe24.为读取的内容进行处理后再输出,需要使用下列哪种流? ( D ) A Filestream B Pipestream CRandomstream D Filterstream25.下列方法中可以用来创建一个新线程的是。 ( C )A 实现 java.lang.Runnable 接口并重写 start() 方法B 实现 java.lang.Runnable 接口并重写 run() 方法 C 继承 java.lang.Thread 类并重写 run() 方法D 实现 java.lang.Thread 类并实现 start()方法26.给出如下初始化语句

11、String s1=new String( “Hello ”);String s2=new String( “there ”);String s3=new String();以下哪种操作是合法的 ? ( A )A s3=s1+s2;B s3=s1-s2;C s3=s1&s2;D s3=s1&s2;A BorderLayoutB FlowLayoutC GridLayoutD CardLayout28.给出如下代码 :class Test private int m;public static void fun() / some code.如何使成员变量 m 被函数 fun() 直接访问 ? (

12、 C )A 将 private int m 改为 protected int mB 将 private int m 改为 public int mC 将 private int m 改为 static int mD 将 private int m 改为 int m29.以下有关类的继承的说明中正确的是: ( D )A 子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B 子类只能继承父类的方法,不能继承父类的属性C 子类只能继承父类的非私有属性,不能继承父类的方法D 子类不能继承父类的私有属性27.容器 Panel 和 Applet缺省使用的布局编辑策略是30.以下语句有语法错

13、的是: ( A )B for (int x=10,y=0 ; x0 ; x+);C while (x5);、简答题1、 请说明 this, super, final 各自的作用 。this:指代调用方法的当前对象; 在构造函数内使用 this 用于指代另外一个构造函数。super :提供了一种调用父类构造函数的方法。final :使得某个变量值只能被引用,而不能修改。2、 试解释方法重构(方法覆盖)和方法重载的区分。1方法的覆盖出现在父类与子类之间,并且方法的特征要完全相同。2方法的重载可以出现在一个类中,也可以分别出现在父类与子类中, 方法的特征一定不完全相同。3、 请解释面向对象程序设计相

14、关的几个概念:继承、多态、 重载。继承 :将相关类组成层次结构, 允许新类从已存在的类中派生,通过保留它们的属性(即实 例变量)和方法,并根据自己的要求添加新的属性的方法。多态 :接口的多种不同的实现方式。重载 :在一个类定义中,可编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一方法。4、 请说明抽象类和接口的异同点。抽象类 :一种类, 它不能实例化为一个对象, 而只表示一种抽象的概念,继承它的子类可以 对其进行具体实现,这种类中往往包含了抽象方法。接口 :就是一系列常量和空方法的集合, 它提供了多个类共有的方法, 但不限制每个类如何 实现这些方法。相同点:1二者

15、都包含空方法,都必须在实现接口或继承抽象类的子类中具体实现这些方法。2由于二者都包含空方法,所以不能用new 关键字来创建这两种类型的对象。3类之间具有继承关系, 接口之间也可以具有这种关系, 一个接口可以继承一个或多个接口。4接口和类一样可以具有 public 属性。 在 interface 前加上 public 关键字, 表示各个包中的类 均可以实现这个接口,反之,只有同一个包中的类才可以实现这个接口。不同点:1抽象类在定义空方法时,其名称前必须加abstract 关键字,而在接口中不需要。2在抽象类中,除空方法外,还可以定义实例变量和非空方法;而在接口中,只能定义常量 和空方法。3接口允

16、许多继承。一个接口可以继承多个接口,实现接口的类也可以同时实现多个接口,只要在这个类中对每个接口的方法都有具体的实现,但Java 的类仅支持单继承。5、 实例变量与局部变量的区别实例变量:也叫对象变量,在类中定义的没加static 的变量,与类变量不同,类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果,而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象。局部变量:在方法中定义的只在特定的方法中可以访问的变量。A int x=1 ; y=2; z=3D for(; ;);区别:1局部变量定义在方法里面,实例变量定义在类以内方法之外;2局部变量只能在定义他的方

17、法里面使用,直接调用变量名就行,实例变量至少可以在整个类内使用,使用时必须用对象去调用;3局部变量使用之前必须初始化,实例变量不需要赋初值,系统会给默认的初值;4局部变量在同一个方法里面不能重名,局部变量和实例变量可以重名,在方法里面采用就近原则,以局部变量为准;5实例变量属于对象,它描述了对象的属性,随着对象的存在而存在,局部变量是随着方法的调用而存在,一旦方法调用结束,局部变量也就消亡了。三、阅读程序1.以下程序段的输出结果为5 6 7 8 9_。public class TestArraypublic static void main(String args )inti , j;inta

18、:= 5,9,6,8,7;for(i =0 ; i v a.length-1; i + ) intk = i;for(j = i ; j a.length ;j+ )if ( ajvak ) k = j;inttemp =ai;ai=:ak;ak: =temp;for ( i =0 ; iva.length; i+ )System.out.print(ai+); System.out.println();2. 编程填空(将横线上所缺的内容补充完整)下列程序中(Assign.java),指定变量 b=50 为字节类型,变量 f=0.55F 为单精度实型,变 量k=0 xfffL 为 64 位整型

19、,并将该三个变量打印输出,请将程序补充完整。(每空 1 分)import java.io.*;public_Assignpublic static void main(String args)_ b=50;_ f=0.55F;_ k=0 xfffL;System.out.println(b=+b);System.out.println(f=_);System.out.println(k=+k);3.写出以下程序的运行结果no Exception;finally;catch;finallypublic class TryCatchF in allystatic void Proc( int se

20、l )tryif( sel=0)System.out.pri ntln (” no Excepti on ”);return;else if( sel=1 ) int i=0; int j=4/i;catch( ArithmeticException e ) System.out.pri ntln( Catch ); catch( Excepti on e ) System.out.println(Will not be executed);fin allySystem.out.pri ntl n(fin ally);public static void main( String args)P

21、roc( 0 ); Proc( 1 );4.阅读以下程序,写出输出结果Dog 程序方法不能被继承。class AnimalAnimal() System.out.print (Animal); public class Dog exte nds Ani malDog( ) System.out.pri nt (Dog ”);public static void main(String args)Dog sn oppy= new Dog();5.阅读以下程序:class Exp1public static void main(String args)Stri ng s,s1=;char c;s=

22、args0;for (in t i=0;i=a & cathis =y b;1public void show(Sys ten .out.pri ntln( C.宾* 坐电ft +th is.x)jSystErn outxpri ntln ( ii Jj * h is “ y ;pdckdff zjwjpublic class testlpublic static void main(Strin arg5 Point p=ne Point(116);P -);2、假设我们从键盘输入一段英文,统计这段文字中单词的个数,并输出其中由四个字母组 成的单词2.假设我们从惟盘输入一慚英文.统计这段文字屮

23、单词的个数.井输出H:屮由四牛字毎组 诚的单词-package zjwjimport java,util*;import java.io#;public class test2厂从键盘中读取一行字符瞬*/public static String readString()BufferedReader br=new SufferedR&ader(newInputStreamReadertSystem.in),1);String strlfiftryit rl ng -br reddLiiakM.LauHtToknjQ;Strlng itrnew Strlngtlj;forinti=e;ltl;i+

24、)ltrl HtXtToken() jSysten.*ui-rpFintlnHiiWAIF) 宇屮单罔卩曹为:44trlength);SyitM.Mt.prlntln(HflrHT字却麵Jii的艸浙)J forfiht ie;iijtr.iferttiiji+) )ILf M t巩1 .ngt h) =4)刖*tuii. rfr * pr int Ln (l【1;3、从键盘输入一行文本,显示其中各元音字母出现的次数。3、从经盘辙入一行文本,显示其中各兀音字母岀现的次数-package zjw;import java.util.*;import java.io.public class Test

25、3厂从轉盘中歩取一行字符串*/public static String readString()InputStreamReader(System.in),1);String string卄;string br.readLine();catch(IOException ex)System.out.println(ex);return string;BufferedReader(newpublic static void main(String args) / TCXX)自动生成方法存根String line;System.out.print(M请愉入一行字符,*);line-reodString

26、();System.outprint(MrR);Int numa-0,numi-enume-O, rwmu 0,numo0; intlengthline.length();for(lnt i-0;i; break;case case *1*:numi-H-; break; case *u*: casefU:numihH-; break; casefe: case *:nume; break; case *0: case *0:5、编写一个程序用选择法对数组a=20,10,50,40,30,70,60,80,90,100进行由大到小numo-+fbreak;defaultsbrtk;5ys te

27、, out, print 1 n ( * 7t ai 7 :+numd;SysteM.oijt. println(*j说的总:靛対:*+n( (jiui);Systen-out. print 1 n( Ti7e;l,:+110111 ;Systemkout -prirrtlnfTT.ru;H現的?k輟为:+nLimu : System.out.println(*J1;咅 :N疑前酋:靛対:+n( (jiuci);+,囲写趕序计算li+22+32442*- +9T2+962+992+K2的值并愉出*paekagti zjirf;public class testifpublic static v

28、oid nialn(Strlng arffi) / TOM自妙生腔方法样Htlnt lsuBae;fcr(i*l;lc-10G;i+)sunH-l*ie+2;System, oift.print(surt);15、编写一个程序用选择法对数组a=20,10,50,40,30,70,60,80,90,100进行由大到小4、6.的能序.package zjw;public dsn test5( (public static void main(String jrgs) int 1 , j;Inf 320,10,5叫4叫彌,796030,96f100;fcr ( i - ;i i a.length-1

29、; i + ) irrt k - 1;for ( J i;j ak ) k - j;im temp -al;ati - afk;ak temp;for ( i 0;ia,length; i+ ) System out* p pint (aii +p*);的排序。编写一个应用程序模拟银行的储蓄卡和信用卡的存取款业务,要求如下:( (2Q分)所有类和接口均放置于包account中;定义一个接口Action,其中包含存款方法void deposit (double sum)和取款方法void withdraw (double sum),参数分别代表存取款金额; 定义一个抽象类Account实现接口A

30、ction,其中定义String类型数据域accNunber表示帐号,double型域balance表示帐户余额,createDate表示开户日期。然后提供有参构造方法初始化这3个数据域. 定义一个具体类CashAccount继承Account表示现金帐户,能够进行存取款操作,取款方法在取款金额大于余额时抛出一个Exception对象异常,信息为“余额不 足” : 定义一个具体类CreditAcccunt继承Account表示信用卡帐户,能够进行存取款 操作,同时需要增加一个透支限额的数据域overdraftLimit,当取款金额超出透支范围时抛出一个Exceptim对象异常,信息为“超出透支额度. CashAccount类能够进行深克隆操作说明:可以忽略对数据域的封装,程序可以认为已经封装.Date型数据域

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!