JAVA测试题附答案.docx
- 文档编号:7914499
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:21
- 大小:28.23KB
JAVA测试题附答案.docx
《JAVA测试题附答案.docx》由会员分享,可在线阅读,更多相关《JAVA测试题附答案.docx(21页珍藏版)》请在冰豆网上搜索。
JAVA测试题附答案测试题附答案请用JAVA语言回答Barbara_1.设X为FLOAT型变量,Y为DOUBLE型变量,为INT型变量,B为LONG型变量,C为CHAR型变量,则表达式X+Y*A/X+B/Y+C的值为FLOAT类型。
X2.5A7Y4,则表达式XA%3*(INT)Y的值为7.52.输出1到100中的偶数,一行5个。
intcount=0;for(inti=0;i0)System.out.println();3.打印出所有的“水仙花数”。
所谓水仙花数指一个三位数,其各位数字的立方和等于该数本身。
for(inti=0;i0;a-)for(intb=9;ba;b-)System.out.print(a+“*”+b+“=”+a*b);System.out.println();5.创建一个有两个方法的类,其中第一个方法两次调用每二个方法;第一次不使用THIS,第二次使用THIS。
publicclassTest()publicvoida()b();this.b();publicvoidb()PS:
搞不懂这题啥意思,感觉作这题很白痴.6.编写从键盘读入10个字符入入一个字符数组,并在屏幕上显示它们的程序。
请处理数组越界异常。
InputStremis=System.in;intarray=newint10;intpos=0;while(pos10)intc=in.read();arraypos=c;pos+;for(inti=0;iarray.length;i+)System.out.print(arryi);7.利用数组,初始化成10个整数,将其排序publicvoidsort(intdata)inttemp;for(inti=1;i0)&(datajdataj-1);j-)SortUtil.swap(data,j,j-1);publicvoidinit()inta=newint10;for(inti=0;i0)x=(-b)/(2*a);q=Math.sqr(p)/(2*a);x1=x+q;x2=x-q;System.out.println(Tworealroot,X1,X2:
+x1+x2);if(p=0)x=(-b)/(2*a);System.out.println(Onerealroot:
+x);if(p=0)System.out.println(“OK”)lur.close();servletConnection.close();第二单元自检自测1:
将下列表达式转换为是JAVA表达式:
1+x2/Math.seq
(1)
(2)(a*x+(a-x)/a*3)/22、设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+ya/x+b/y+c的值为double类型。
设x=2.5,a=7,y=4则x+a%3*(int)y的值为_double_3、写出下列程序执行结果:
Inta=3,b=10,c=0;If(ab)b=5;c=7;语句执行后,b=_10_,c=_7_4.下列for循环的执行次数为_0_for(intx=0;(x=0)&(x4);x+);5.下列语句执行后,j的值为_5_Intj=3,i=2While(-i!
=i/j)j=j+2;6、下列语句执行后K值为_2_inti=10,j=18,k=30;switch(j-i)case8:
k+;case9:
k+=2;case10:
k+=3;default:
k/=j;7、7、下列语句执行后X的值为_25_inta=3,b=4,x=5;if(+a=b)x=+a*x;8、8、以下程序段结束后变量sum值为_3450_intsum=0,i;for(i=1;i=4;i+)switch(i)case1:
sum+=2;Case2:
sum+=4;continue;Case3:
sum+=8;Case4:
sum+=16;break;9、9、77777777777.你编译一个定义了5个类和18个方法的Java源文件。
请问,当编译成源文件时会产生多少字节码文件,扩展名是什么?
da)23个字节码文件,扩展名为.classb)1个字节码文件,扩展名为.classc)5个字节码文件,扩展名为.javad)5个字节码文件,扩展名为.class10、10、88下面哪个不是Java关键字?
aa)Integerb)doublec)floatd)default11、11、表达式5&2的值应该是:
aa)0b)2c)5d)712、表达式10|2的值应该是:
ca)0b)2c)10d)1413、下面哪一个main()方法定义有效?
aca)publicstaticvoidmain(Stringargs)b)publicstaticvoidmain(String)c)publicstaticvoidmain(Stringargs)d)publicstaticvoidmain(args)14、你怎样从下面main()的调用中访问单词“kiss”?
bjavacsakissisbutakissa)args0b)args2c)args4d)args515、如果有以下代码,哪几个数字能产生输出Test2的结果?
bcdswitch(x)case1:
System.out.println(Test1);case2:
case3:
System.out.println(Test2);break;System.out.println(Test3);a)0b)1c)2d)316、以下代码的输出结果是什么?
bclassFoopublicstaticvoidmain(Stringargs)intx=4,j=0;switch(x)case1:
j+;case2:
j+;case3:
j+;case4:
j+;case5:
j+;break;default:
j+;System.out.println(j);a)1b)2c)3d)编译错误17、设int型变量a,b;float型变量x,y;char型变量ch,均已正确定义并赋值,正确的switch语句为:
bda)switch(x+y)b)switch(ch+1)c)switch()d)switch(a+b);18、下面程序的输出结果是什么?
apublicstaticvoidmain(Stringargs)Strings;System.out.println(s=+s);a)编译错误b)运行时错误c)s=nulld)s=019、写出下列程序运行结果:
publicclassArithmeticOPpublicstaticvoidmain(Stringargs)inta,b,c;a=b=c=2;a=+b-+c;System.out.println(a=+a+b=+b+c=+c);a=b+c+;System.out.println(a=+a+b=+b+c=+c);a=b-+c-;System.out.println(a=+a+b=+b+c=+c);a=0b=3c=3a=6b=4c=4a=8b=3c=3第三单元自检自测1、给出如下代码:
classTestprivateintm;publicstaticvoidfun()/somecode.如何使成员变量m被方法fun()直接访问?
cA、将privateintm改为protectedintmB、将privateintm改为publicintmC、将privateintm改为staticintmD、将privateintm改为intm2、下面哪几个方法是publicvoidexample().的重载方法?
aA、publicvoidexample(intm).B、publicintexample().C、publicvoidexample2().D、publicintexample(intm,floatf).3、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?
bdA、privateB、publicC、protectedD、不使用约束符E、final4、以下哪个约束符可用于定义成员常量?
bA、staticB、finalC、abstractD、不使用约束符5、已知如下类说明:
publicclassTestprivatefloatf=1.0f;intm=12;staticintn=1;publicstaticvoidmain(Stringarg)Testt=newTest();/somecode.如下哪个使用是正确的?
adA、t.fB、this.nC、Test.mD、Test.n6、在如下源代码文件Test.java中,哪个是正确的类定义?
bdA、protectedclasstestpublicintx=0;publictest(intx)this.x=x;B、publicclassTestpublicintx=0;publicTest(intx)this.x=x;C、publicclassTestextendsT1,T2publicintx=0;publicTest(intx)this.x=x;D、publicclassTestextendsT1publicintx=0;publicTest(intx)this.x=x;7、想要使定义在该类所在的包外的类不能访问这个类,你应该用什么关键字?
bda)根本不需要任何关键字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、默认情况下,也就是没有关键字时,所有的类都能访问所有成员,除了以下成员:
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;publicBase(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、privatevoidfun(intn)/.B、voidfun(intn)/.C、protectedvoidfun(intn)/.D、publicvoidfun(intn)/.15、如下哪个语句是正确的?
bcA、在Java中允许简单继承,它可以保证代码更可靠。
B、子类继承父类中包括构造方法在内的所有方法,。
C、一个类能实现它所需要的所有接口。
D、当一个类实现一个接口时,它能仅选择接口中它所需要的方法进行重写。
16、5、Person,Student和Teacher都是类名。
这些类有以下继承关系。
PersonStudentTeacher并且在Java源代码中有如下表达式:
Personp=newStudent();如下哪个语句是正确的?
aA、这条语句是合法的.B、这条语句是不合法的C、编译时出错D、编译正确但运行时出错17、标出下面定义的类中的问题。
Packagevehicle;*Packagetruck;Importvehicle.*;PublicclassOffRoadPrivateintweight;PrivateStringvin;*Publicoffroad()Weight=5000;18、找出下面定义的接口中的问题:
publicinterfaceExampleintX;voida();voidb();*classExampleimplementsinterfaceExamplevoida()System.out.println(“Pointsomething”);publicclassMainpublicvoidmain(Stringargs)*Exampleexample=newExample();example.a();19、写出下列程序输出结果:
classStrangeintj;Strange()This(4);Strange(intj)This.j=j);ClassmainStrangePublicstaticvoidmain(Stringargs)Strangefunny=newStrange();System.out.println(“j=“+funny.j);j=420、在划线处填上正确语句,使程序能正确执行importjava.io.*;classstaticByName1staticintmaxfrom3(inta,intb,intc)intmax;max=Math.max(a,b);max=Math.max(max,c);return(max);publicstaticvoidmain(Stringargs)throwsIOExceptionInputStreamReaderir=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReade(ir);Stringstr;intmax;System.out.println(“请输入三个数”);str=br.readline();inta=Integer.parseInt(str);str=br.readline();intb=Integer.parseInt(str);str=br.readline();intc=Integer.parseInt(str);_/调用类方法maxfrom3()System.out.println(“max=“+max);max=ByName1.maxfrom3(a,b,c)21、设计一个抽象类CompareObject,里面有抽象方法compareTo用于比较两个对象。
然后设计一个类Position从CompareObject派生,有x和y属性表示其坐标,该类实现compareTo方法,用于比较两个对象距离原点(0,0)的距离之差。
publicinterfaceCompareObjectpublicdoublecompareTo(CompareObjecto1,CompareObjecto2);publicPositionimplementsCompareObjectpublicintx,y;publicdoublecompareTo(CompareObjecto1,CompareObjecto2)CompareObjectoo1=(CompareObject)o1;CompareObjectoo2=(CompareObject)o2;reurnMath.sqr(oo1.x2+oo1.y2)-Math.sqr(oo2.x2+oo2.y2);第四单元自检自测1、编写一个程序,从命令行输入两个整数,用第一个数去除以第二个数(结果为整数),打印出运算结果。
如果命令行没有输入参数或参数不足,则产生ArrayIndexOutOfBoundsException异常,如果输入的参数不是数字,则会产生NumberFormatException异常,如果第二个参数是0,则会产生ArithmeticException对这些异常进行捕获,并打印出相应信息。
Stringa=System.in.readLine();Stringb=System.in.readLine();Intx,y;If(a=null|b=null)ThrownewArrayIndexOutOfBoundsException();Tryx=Integer.parseInt(a);y=Integer.parseInt(b)Catch(Exceptionex)ThrownewNumberFormatException();If(y=0)ThrownewArithmeticException();System.out.println(int)x/y);2、写出下题运行结果:
publicclassEx14_2staticdoubleaverage(inta)throwsNullPointerExceptiontryintsum=0;for(inti=0;ia.length;i+)sum+=ai;return(double)sum)/a.length);catch(NullPointerExceptione)System.out.println(NullPointerException);throwe;publicstaticvoidmain(Stringargs)tryinta=null;average(a);catch(NullPointerExceptione)System.out.println(NullPointerException);System.out.println(OK!
);NullPointerExceptionNullPointerExceptionOK!
3、写出下题运行结果classtestTrypublicstaticvoidmain(Stringargs)Proc(0);Proc(100);Proc
(1);staticvoidProc(intnum)trySystem.out.println(*异常处理测试*);System.out.println(num=+num);intsum=100/num;intarray=0,1,2;arraynum=sum;catch(ArithmeticExceptione)System.out.println(被零除:
+e);catch(ArrayIndexOutOfBoundsExceptione)System.out.println(数组越界:
+e);finallySystem.out.println(End!
n);*异常处理测试*num=0被零除:
java.lang.ArithmeticException:
/byzeroEnd!
*异常处理测试*num=100数组越界:
java.lang.ArrayIndexOutOfBoundsException:
100End!
*异常处理测试*num=1End!
4、从命令行获得两个参数,自定义两个异常类来描述可能发生的异常:
ParameterNumberException(参数个数异常)和ParameterFormatException(参数格式异常)在main方法中通告这两个异常并在相应的情况下触发异常,然后捕获异常,对它们进行处理。
PublicclassParameterNumberExceptionextendsExceptionPublicclassParameterFormatExceptionextendsExceptionPublicclassTest()Publicvoidmain(Stringargs)If(args=null|args.length!
=2)ThrownewParameterNumberException();If(!
args0.equals(”0”)|!
args1.equals(“1”)ThrownewParameterFormatException();1、已知如下定义:
Strings=story;下面哪个表达式是合法的?
adA、s+=books;B、charc=s1;C、intlen=s.length;D、Stringt=s.toLowerCase();2、下面哪个语句是创建数组的正确语句?
A、floatf=newfloat66;B、floatf=newfloat66;C、floatf=newfloat6;D、floatf=newfloat66;E、floatf=newfloat6;3、已知表达式intm=0,1,2,3,4,5,6;d下面哪个表达式的值与数组下标量总数相等?
A、m.length()B、m.lengthC、m.length()+1D、m.length+14、已知如下的命令执行javaMyTestabc请问哪个语句是正确的?
cdA、args0=MyTestabcB、args0=MyTestC、args0=aD、args1=b5、已知如下代码:
publicclassTestlonga=newlong10;publicstaticvoidmain(Stringarg)System.out.println(a6);请问哪个语句是正确的?
cA、输出结果是null.B、输出结果是0.C、编译时出错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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 测试 答案