《JAVA考试知识测试题(附答案).docx》由会员分享,可在线阅读,更多相关《JAVA考试知识测试题(附答案).docx(15页珍藏版)》请在课桌文档上搜索。
1、请用JAVA语言回答BarbaraIlI(三)1 .设X为FLOAT型变量,Y为DOUBLE型变量,a为INT型变量,B为LONG型变量,C为CHAR型变量,则表达式XY*AX+BY+C的值为_FLOAT_类型。X=2.5A=7Y=4,则表达式X+A%3*(INT)Y的值为_7.5_2 .输出1到100中的偶数,一行5个。intcount=0;for(inti=0;i0)System.out.println();)3 .打印出所有的“水仙花数所谓水仙花数指一个三位数,其各位数字的立方和等于该数本身。fbr(inti=0;i0;a-)for(intb=9;ba;b-)System.out.pri
2、nt(a+*+b+a*b);1System.out.println();)5 .创建一个有两个方法的类,其中第一个方法两次调用每二个方法;第一次不使用THIS,第二次使用THISopublicclassTest()publicvoida()b();this.b();)publicvoidb()PS:搞不懂这题啥意思,感觉作这题很白痴.6 .编写从键盘读入10个字符入入一个字符数组,并在屏幕上显示它们的程序。请处理数组越界异常。InputStremis=System.in;intarray=newint10;intpos=0;while(posIO)(intc=in.read();arraypo
3、sj=c;pos+;)fbr(inti=0;iarray.length;i+)System.out.print(arryi);7 .利用数组,初始化成10个整数,将其排序publicvoidsort(intdata)inttemp;for(inti=l;iO)&(data|jJdata|j-1);j)SortUtil.swap(data,j,j-1);publicvoidinit()inta=newint10;fbr(inti=0;i0)x=(-b)(2*a);q=Math.sqr(p)(2*a);xl=x+q;x2=x-q;System.out.println(,Tworealroot,Xl
4、,X2:+xl+x2);)if(p=O)x=(-b)(2*a);System.out.println(Onerealrootx);)if(p=0)SyStem.out.prinUn(OK)lur.close();servletConnection.close();第二单元自检自测1:将下列表达式转换为是JAVA表达式:l+A2MathSeq(1)+xy-X2(2)(a*x+(a-x)a*3)21/a-Xx-(ax+-)23a2、设X为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+ya/x+b/y+c的值为_double_类型。设
5、x=2.5,a=7,y=4贝qx+a%3*(int)y的值为.double_3、写出下列程序执行结果:Inta=3,b=10,c=0;If(ab)b=5;c=7;语句执行后,b=_10_,c=_74 .下列for循环的执行次数为_0_for(intx=0;(x=0)&(x4);x+);5 .下列语句执行后,J的值为_5_Intj=3,i=2While(-i!=ij)j=j+2;6、下列语句执行后K值为2一inti=10J=18,k=30;switch(j-i)case8:k+;case9:k+=2;case10:k+=3;default:k/=j;7、下列语句执行后X的值为_25_inta=3
6、,b=4,x=5;if(+a=b)x=+a*x;8、以下程序段结束后变量SIIm值为_345(Lintsum=0,i;for(i=l;iprotectedD、不使用约束符E、final4、以下哪个约束符可用于定义成员常量?bA、staticBfinalC、abstractD、不使用约束符5、已知如下类说明,publicclassTestprivatefloatf=1.0f;intm=12;staticintn=l;publicstaticvoidmain(Stringarg)Testt=newTest();/somecode.)如下哪个使用是正确的?adA、t.fB、this.nCTest.m
7、D、Test.n6、在如下源代码文件Testjava中,哪个是正确的类定义?bdA、protectedclasstestpublicintx=0;publictcst(intx)(this.x=x;)B、publicclassTestpublicintx=0;publicTest(intx)this.x=x;)C、publicclassTestextendsTl,T2publicintx=0;publicTest(intx)this.x=x;)D、publicclassTestextendsTlpublicintx=0;publicTest(intx)this.x=x;)7、想要使定义在该类所
8、在的包外的类不能访问这个类,你应该用什么关键字?Dda) 根本不需要任何关键字b) privatec) finald) protected8、如果想限制本类的实例对象对StatiC成员的访问,应该:a)使用final关键字bb)使用private关键字C)根本不需要任何关键字d)不能这样限制一个static成员9、下面那种说法是不对的?aa) 一个方法可以同时为protected和abstract类型b) StatiC变量也可以是final类型c) StatiC方法也可以是ProteCted类型d) StatiC方法也可以是abstract类型10、默认情况下,也就是没有关键字时,所有的类都能
9、访问所有成员,除了以下成员:ca) 用final关键字定义的b) 用abstract关键字定义的c) 在另一个包中定义的d) 在同一个包中定义的11、请选择以下代码的正确的重载构造器。bclassHappyHappy()a) publicvoidHappy()b) publicHappy(intc)c) protectedHappy()d) voidHappy()12、如果A类基于B类,请问哪个类是子类,哪个类是父类?ba) 两个都不是父类或者子类b) A是B的子类c) B是A的子类d) 两个都是对方的子类13、给出下面的代码段:publicclassBaseintw,x,y,z;public
10、Base(inta,intb)(x=a;y=b;)publicBase(inta,intb,intc,intd)/assignmentx=a,y=bw=d;Z=C;在代码说明assignmentx=a,y=b处写入如下哪几个代码是正确的?CdA、Base(a,b);B、x=a,y=b;C、x=a;y=b;D、this(a,b);14、classBasepublicBase()/.publicBase(intm)/.)protectedvoidfun(intn)/.)publicclassChildextendsBase/membermethods)如下哪句可以正确地加入子类中?bdA、priv
11、atevoidfun(intn)/.B、voidfun(intn)Cyprotectedvoidfun(intn)/.D、publicvoidfun(intn)/.)15、如下哪个语句是正确的?beA、在Java中允许简单继承,它可以保证代码更可靠。B、子类继承父类中包括构造方法在内的所有方法,。C、一个类能实现它所需要的所有接口。D、当一个类实现一个接口时,它能仅选择接口中它所需要的方法进行重写。16、5、Person,Student和TeaCher都是类名。这些类有以下继承关系。PersonStudentTeacher并且在Java源代码中有如下表达式:Personp=newStudcnt
12、();如下哪个语句是正确的?aA、这条语句是合法的.IK这条语句是不合法的C、编译时出错D、编译正确但运行时出错17、标出下面定义的类中的问题。Packagevehicle;*Packagetruck;Importvehicle.*;PublicclassOfTRoadPrivateintweight;PrivateStringvin;*Publicoffroad()Weight=SOOO;)18、找出下面定义的接口中的问题:publicinterfaceExamplcintX;voida();voidb();)*classExampleimplementsinterfaceExamplevo
13、ida()System.out.println(tPointsomething);)publicclassMainpublicvoidmain(Stringargs)*Exampleexample=newExample();example.a();)19、写出下列程序输出结果:classStrangeintj;StrangeO(This(4);)Strange(intj)This.j=j);)ClassmainStrangcPublicstaticvoidmain(Stringargs)Strangefunny=newStrange();System.out.println(j=w+funny
14、.j);)j=420、在划线处填上正确语句,使程序能正确执行importjava.io.*;classstaticByNamelstaticintmaxfrom3(inta,intb,intc)(intmax;max=Math.max(a,b);max=Math.max(max,c);return(max);)publicstaticvoidmain(Stringargs)throwsIOExceptionInputStreamRcaderir=newInputStreamReadcr(Systcman);BufieredReaderbr=newBufferedReade(ir);String
15、str;intmax;SyStem.out.println(“请输入三个数”);str=br.readline();inta=lntcger.parselnt(str);str=br.readline();intb=lnteger.parselnt(str);str=br.readline();intC=IntegenparseInt(Str);调用类方法maxfrom3()System.out.println(tmax=w+max);)max=ByNamel.maxfrom3(a,b,c)21、设i个抽象类ComPareObject,里面有抽象方法ComPareTO用于比较两个对象。然后设计
16、一个类Position从CompareObject派生,有X和y属性表示其坐标,该类实现COmPareTo方法,用于比较两个对象距离原点(0,0)的距离之差。publicinterfaceCOmPareObjectpublicdoublecompareTo(CompareObjectol,CompareObjecto2);)publicPositionimplementsComparebjectpublicintx,y;publicdoublecompareTo(CompareObjectol,CompareObjecto2)CompareObjectool=(CompareObject)Ol
17、;CompareObjectoo2=(Comparebject)o2;reurnMath.sqr(ool.xA2+ool.y2)-Math.sqr(oo2.xA2+oo2.y2);)第四单元自检自测1、编写一个程序,从命令行输入两个整数,用第一个数去除以第二个数(结果为整数),打印出运算结果。如果命令行没有输入参数或参数不足,则产生ArraylndexOutOfBoundsException如果输入的参数不是数字,则会产生NlImberFonnatEXCePtiOn异常,如果第二个参数是0,则会产生ArithmetiCEXCePtion对这些异常进行捕获,并打印出相应信息。Stringa=Sy
18、stem.in.readLine();Stringb=System.in.readLine();Intx,y;If(a=nullb=null)ThrownewArrayIndexOutOfBoundsException();)Try(x=Integer.parselnt(a);y=Integer.parselnt(b)Catch(Exceptionex)ThrownewNumberFormatExceptionO;)if(y=o)ThrownewArithnieticException();)System.out.println(int)xy);2、写出下题运行结果:publicclassEx
19、l4_2staticdoubleaverage(inta)throwsNullPointcrExccptiontryintsum=0;for(inti=0;ia.length;i+)sum+=ai;return(double)sum)/a.lcngth);)CatCh(NilllPOiIlterEXCCPtiOne)Systcm.out.println(,NullPointerExceptionn);throwe;)publicstaticvoidmain(Stringargs)tryinta=null;avcragc(a);)catch(NullPointerExceptione)Syste
20、m.out.println(,NullPointerException,);|Systcm.out.println(,OK!,);)NullPointerExceptionNulipoiiiterExceptionOK!3、写出下题运行结果classtestTry(publicstaticvoidmain(Stringargs)(Proc(O);Proc(100);Proc(I);staticvoidProc(intnum)(try(SyStem.out.println(*异常处理测试*);System.out.println(num=+nun);intsum=100/num;intarray
21、=0,l,2);arraynum=sum;catch(ArithmeticExceptioiie)System.out.prinUn(被零除:+e);)catch(ArraylndexoutofBoundsExceptione)SyStem.out.println(数组越界:”+e);finallySystem.out.println(,End!n);)*异常处理测试*num=0被零除:java.lang.ArithmeticException:/byzeroEnd!异常处理测试*num=100数组越界:java.lang.ArrayIndexOutOfBoundsException:100E
22、nd!*异常处理测试*num=lEnd!4、从命令行获得两个参数,自定义两个异常类来描述可能发生的异常:ParameterNumberException(参数个数异常)和ParameterFormatException(参数格式异常)在main方法中通告这两个异常并在相应的情况下触发异常,然后捕获异常,对它们进行处理。PublicclassParameterNuniberExceptionextendsException)PublicclassParameterForinatExceptionextendsExceptionParameterNumberExceptionO;If(!args0
23、.equals(n0,9)!argsl.equals(t4lM)ParanieterFormatException();1已知如下定义:Strings=story;下面哪个表达式是合法的?adA、 s+=books”;B、 charc=sl;C、intIen=s.length;D、Stringt=s.toLowerCase();2、下面哪个语句是创建数组的正确语句?Axfloatf=newfloat66;C、 floatf=newfloat66;D、 floatf=newfloat6;E、 floatf=newfloat66;F、 floatf=newfloat6;3、已知表达式intm=0,
24、1,2,3,4,5,6);d下面哪个表达式的值与数组下标量总数相等?A、m.IengthOBxm.lengthC、m.length()+1Dm.length+14、已知如下的命令执行javaMyTestabc请问哪个语句是正确的?cdA、args0=*MyTestabc*Bxargs0=*MyTest*C、args0=aDxargs1=b5、已知如下代码:publicclassTestlonga=newlong10;publicstaticvoidmain(Stringarg)System,out.printin(a6);)请问哪个语句是正确的?cA、输出结果是null.B、输出结果是0.C、
25、编译时出错D、运行时出错6、 如果你试图编译下面的代码会发生什么事?dclassMyStringextendsStringa)代码编译成功b) 代码不能编译,因为没有定义一个main()方法c) 代码不能编译,因为String是abstract类型的d) 代码不能编译,因为String是final类型的7、写出运行结果:classApublicstaticvoidmain(Stringargs)Stringbar=newString(blue);Stringbaz=newString(*green*);Stringvar=newString(*red*);Stringc=baz;baz=var;bar=c;baz=bar;System,out.println(baz);)green