还剩49页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
JAVA语言程序设计考试试题及部分答案
一、单选题每题1分下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内.下列语句序列执行后,k的值是Bointm=3n=6k=0;whilem++--n++k;A0B1C2D
3.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是BAi=i+2Ba.
[0]=7;Ci++——j;Da0=66;.Java语言的类间的继承关系是BA多重的B单重的C线程的D不能继承.设有定义inti=6;则执行以下语句后,i的值为Ci+=i-1;A10B121C11D
1005.下列选项中,用于在定义子类时声明父类名的关键字是CAinterfaceBpackageCextendsDclass6若已定义byte[]x={112233-66;其中0WkW3则对x数组元素错误的引用是CAx[5-3]Bx[k]Cx[k+5]Dx
[0].下列语句序列执行后,chi的值是Bocharchl=rA1ch2=,W!;ifchi+2ch2++chl;AABBCCDB.下列语句序列执行后,i的值是Dointi=8j=16;ifi-1ji--;elsej--;A15B16C7D
8.下列语句序列执行后,k的值是Co4数组有没有length这个方法?String有没有length这个方法?举例说明运用方法?数组没有length这个方法,有length的属性String有有length这个方法
5.Java中的异样处理机制的简洁原理和应用当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异样违反语义规则包括2种状况一种是JAVA类库内置的语义检查例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种状况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异样,并自由选择在何时用throw关键字引发异样全部的异样都是java.lang.Thowable的子类
五、程序设计每题11分,共33分
1、编程编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串但是要保证汉字不被截半个,如我ABC4应当截为我AB输入我ABC汉DEF6应当输出为我ABC而不是我ABC+汉的半个
2、编程求解全部两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和
3、设计一个程序求解e的值精度达到L0e-
64、请设计一个对N个数进行排序的程序
一、选择题每道题只有一个正确答案,每小题2分,共30分15道题
1、关于Java语言叙述错误的是CJava语言具有跨平台性Java是一种面对对象的语言Java语言中的类可以多继承Java的垃圾收集机制自动回收程序已不再运用的对象
2、以下叙述正确的是B的确台aA.构造方法必需是public方法main方法必需是public方法Java应用程序的文件名可以是随意的D.构造方法应当声明为void类型
3、关于Java中数据类型叙述正确的是(B)A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简洁数据类型Java中的指针类型和C语言的一样
4、设intx=lfloaty=2则表达式x/y的值是(D)012D.以上都不是
5、以下语句有语法错的是(A)intx=l;y=2;z=3for(intx=10y=0;x0;x++);while(x5);for(;;);
6、关于类和对象的叙述正确的是(A)A.Java的类分为两大部分系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化
7、以下有关构造方法的说法,正确的是(A)一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同
8、以下有关类的继承的叙述中,正确的是(D)A.子类能干脆继承父类全部的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性
9、下列属于容器的组件有(B)A.JButtonJPaneCanvasJTextArea
10、void的含义(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算
11、关于Java中异样的叙述正确的是(D)A.异样是程序编写过程中代码的语法错误B.异样是程序编写过程中代码的逻辑错误C.异样出现后程序的运行立即中止D.异样是可以捕获和处理的
12、全部的异样类皆继承哪一个类?(C)java.io.Exceptionjava.lang.Throwablejava.lang.Exceptionjava.lang.Error
13、下面哪个不是java语言中的关键字?(B)longsizeofinstanceofconst
14、为实现进程之间的通信,须要运用下列那种流才合适?(D)DatastreamFilestreamBufferedstreamPipedstream
15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?DA.ActionListenerMouseListenerMouseMotionListernItemListener
二、填空题每空1分,共20分
1、面对对象程序设计所具有的基本特征是—抽象性—,一封装性_继承性一多态性—
2、数组x定义如下intx[][]=newint
[3]
[2]则x..length的值为3x
[0].length的值为
23、Java中实现多线程一般运用两种方法,一是继承Thread类二是实现Runnable方法
4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有列出四种即可—FlowLayoutGridLayout―BorderLayoutCardLayout
5、Applet常用的方法是—init_、_run—、—stop—和destroy
三、阅读程序,写出程序的输出结果每题5分,共20分
1、classA{privateintprivateVar;Aint_privateVar{privateVar=_privateVar;}booleanisEqualToAanotherA{ifthis.privateVar==anotherA.privateVarreturntrue;elsereturnfalse;publicclassB{publicstaticvoidmainStringargs[]{Aa=newAl;Ab=newA2;System.out.printina.isEqualTob;}程序的输出结果为falseclassA{doublefdoublexdoubley{returnx*y;}}classBextendsA{doublefdoublexdoubley{returnx+y;}}publicclassTest{publicstaticvoidmainStringargs[]{Bobj=newB;Systemout.printinrTheprogramoutputis+obj.f46;}}程序的输出结果为―Theprogramoutputis10publicclassUnchecked{publicstaticvoidmainStringE]args{try{method;}catchExceptione{System.out.printinA;}finally{System.out.printinrBf;staticvoidmethod{trywrench;System.out.printinrCf;}catchArithmeticExceptione{System.out.printinD;}finally{Systemout.printinE;Systemout.printinF;}staticvoidwrench{thrownewNullPointerException;}}程序的输出结果为EABpublicclassTest{publicstaticvoidmainStringE]argsintx;inta[]={000000};calculateaa
[5];System.out.printinrthevalueofa
[0]is+a
[0];System.out.printinnthevalueisa
[5]is+a
[5];staticintcalculateintx[]inty{forinti=1;ix.length;i++ifyx.lengthx[i]=x[i-1]+1;returnx
[0];}程序的输出结果为thevalueofa
[0]is0thevalueisa
[5]is
5.下面哪些是short型的取值范围[C]-27-27-10-216-1-215-215-1-231-231-
1.下面哪些是合法的标识符[ABE]$personsTwoUsers*pointthis_endline.哪些是将一个十六进制值赋值给一个long型变量[D]longnumber=345L;longnumber=0345;longnumber=0345L;longnumber=0x345L;.下面的哪些程序片断可能导致错误[BD]Strings=Gonewiththewind”;Stringt=good;Stringk=s+t;Strings=Gonewiththewind”;Stringt;t=s
[3]+one;Strings=Gonewiththewind”;Stringstandard=s.toUpperCase;Strings=homedirectoryn;Stringt=s-directory;.在〃pointx处的哪些声明是合法的[DE]classPerson{privateinta;publicintchangeintm{returnm;}}publicclassTeacherextendsPerson{publicintb;publicstaticvoidmainStringarg[]{Personp=newPerson;Teachert=newTeacher;inti;//pointxi=m;i=b;i=p.a;i=p.change30;i=t.b;.当Frame的大小被变更时,Frame中的按钮的位置也可能被变更,请问此时运用的是什么布局管理器[B]BorderLayoutFlowLayoutCardLayoutGridLayout7给出下面的代码片断publicvoidcreate{VectormyVect;myVect=newVector;下面的哪些陈述是正确的?[ADE]A.其次行的声明不会为变量myVect支配内存空间〃指的是堆空间,只是在栈中支配;这里不用较真.自己理解就好;B.其次行的声明支配一个到Vector对象的引用的内存空间C.其次行语句创建一个Vector类对象D.第三行语句创建一个Vector类对象E.第三行语句为一个Vector类对象支配内存空间〃支配栈空间,相当于指针,但是担心排到Vector对象的引用的空间;选项二的意思是支配了堆空间;
8.下面的哪些答案可以用以表示八进制值8[A].
010.0x10C.08D.0x
8.哪些不是Java关键字[AB]TRUEsizeofconstsupervoid
10.下面的哪些叙述为真[AD]A.equals方法判定引用值是否指向同一对象〃不说是谁的就是默认的B.==操作符判定两个分立的对象的内容和类型是否一样C.equals方法只有在两个对象的内容一样时返回trueD.类File重写方法equals在两个分立的对象的内容和类型一样时返回true//当两个独立的对象的内容和类型一样;
11.下面关于继承的哪些叙述是正确的[AD]A.在java中只允许单一继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更牢靠
12.第十行的声明将调用哪些方法.[D]1classPerson{2publicvoidprintValueintiintj{}3publicvoidprintValueinti{}45publicclassTeacherextendsPerson{6publicvoidprintValue{}7publicvoidprintValueinti{}8publicstaticvoidmainStringargs[]{9Persont=newTeacher;10t.printValue10;11inti=10j=18k=30;switchj-i{case8k++;case9k+=2;case10k+=3;default k/=j;A31B32C2D
33.下面语句执行后,i的值是Boforinti=0j=l;j5;j+二3i=i+j;A4B5C6D
7.设有定义floatx=
3.5fy=
4.6fz=
5.7f;则以下的表达式中,值为true的是BoAxy||xzBx!=yCzy+xDxy!xz.下列语句序列执行后,i的值是Dointi=16;do{i/=2;}whilei3;A16B8C4D
2.以下由for语句构成的循环执行的次数是Boforinti=0;true;i++;A有语法错,不能执行B无限次C执行1次D一次也不执行.定义类头时能运用的修饰符是CoAprivateBstaticCabstractDprotected.设int型变量a、bfloat型变量x、ychar型变量ch均已正确定义并赋值,正确的switch语句是DoAswitchx+yBswitchch+112A.第2行的方法B.第3行的方法C.第6行的方法D.第7行的方法.下面哪些不是java的原始数据类型[BC]shortBooleanunitfloat.下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的[B]transientsynchronizedserializestatic.main方法的返回类型是什么?[B]intvoidbooleanstatic
16.给出以下关于一个运用适当的字符间距的字体的TextField的表达式TextFieldt=newTextFieldntheyaregood”40;〃40指的是像素哪些叙述是对的?[D]A被显示的字符串可以运用多种字体B.一行中最大的字符数是40C.显示的宽度正好是40个字符宽D.用户可以编辑字符
17.关于垃圾收集的哪些叙述是对的?[B]A.程序开发者必需自己创建一个线程进行内存释放的工作B.垃圾收集将检查并释放不再运用的内存C.垃圾收集允许程序开发者明确指定并立刻释放该内存D.垃圾收集能够在期望的时间释放被java对象运用的内存
18.给出下面的代码publicclassTest{intmn;publicTest{}publicTestinta{m=a;}publicstaticvoidmainStringarg[]{Testtlt2;intjk;j=0;k=0;tl=newTest;t2=newTestjk;}在编译时哪行将导致一个错误?[D]A.第3行B.第5行C.第6行D.第10行
19.Thread的方法resume负责复原哪些线程的执行?[D]A.通过调用stop方法而停止的线程B.通过调用sleep方法而停止运行的线程C.通过调用wait方法而停止运行的线程D.通过调用suspend方法而停止运行的线程〃已经过期了
20.有关线程的哪些叙述是对的?[BD]A.一旦一个线程被创建,它就立刻起先运行B.运用start方法可以使一个线程成为可运行的,但是它不愿定立刻起先运行C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面〃比它优先级高的进程抢占了cpu它运行的时间依据操作系统而定;一个线程可能因为不同的缘由停止并进入就绪状态〃可运行状态
21.给出下面的不完整的方法{success=connect;ifsuccess--1{thrownewTimedOutException;}}已知TimedOutException不是一个RuntimeExceptiono下面的哪些声明可以被加入第一行完成此方法的声明[BC]A.publicvoidmethodpublicthrowTimedOutExceptionvoidmethod.给出下面的代码classPerson{Stringnamedepartment;publicvoidprintValue{Systemout.printinnnameisn+name;Systemout.printin^departmentisH+department;}}publicclassTeacherextendsPerson{intsalary;publicvoidprintValue{//完成父类代码中printValue相同的工作System.out.printin^salaryisn+salary;}}下面的哪些表达式可以加入printValueO方法的注释部分?[D]printValue;this.printValue;person.printValue;super.printValue;.下面的哪些赋值语句是错的?[A]floatf=
11.1;doubled=
5.3E12;doubled=
3.14159;doubled=
3.14D;.给出下面的不完整的类代码classPerson{Stringnamedepartment;intage;publicPersonStringn{name=n;}publicPersonStringninta{name=n;age=a;}publicPersonStringnStringdinta{//完成PersonStringninta的逻辑department=d;}}下面的哪些表达式可以加到构造方法中的注释处?[C]Personna;thisPersonna;〃构造函数的名字不能当方法名调用;thisna;thisnameage;〃构造方法的参数也不能干脆传实例变量名.下面关于变量及其范围的陈述哪些是对的?[ACD]A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在运用前必需被初始化.给出下面的代码publicvoidtest{tryoneMethod;System.out.printinncondition1;}catchArraylndexOutOfBoundsExceptione{Systemout.printinncondition2;}catchExceptione{Systemout.printinncondition3;}finally{Systemout.printinrfinallyn;}}在oneMethod方法运行正常的状况下将显示什么?[AD]condition1condition2condition3finally.给出下面的代码publicclassTest{voidprintValueintm{do{System.out.printinnThevalueis!+m;}while一m10;publicstaticvoidmainStringarg[]{inti=10;Testt=newTest;t.printValuei;}}输出将是什么?[C]
891011.下面的有关声明的哪些叙述是对的?[BC]A.对原始数据类型例如booleanbyte的变量的声明不会为该变量支配内存空间B.对原始数据类型例如booleanbyte的变量的声明将为之支配内存空间C.非原始数据类型例如StringVector的变量的声明不会为该对象支配内存D.非原始数据类型例如StringVector的变量的声明会为该对象支配内存〃该对象指的是堆空间的对象;指向该对象的引用只能叫变量;.类的设计要求它的某个成员变量不能被外部类干脆访问应当运用下面的哪些修饰符获得须要的访问限制?[D]A.publicB.不加修饰符protectedprivate〃面对对象编程P196页的表格private一行有错误.给出下面的代码片断Stringstr=null;ifstr!=nullstr.length10{System.out.printinnmorethan10;elseifstr!=nullstr.length5{〃空指针异样System.out.printinnlessthan5;else{System.out.printinend;哪些行将导致错误?[C]A.第1行B.第2行C.第5行D.第8行.下面有关java代码平安性的叙述哪些是对的?[BCD]A.字节码校验器加载查询执行须要的全部类B.运行时说明器执行代码C.在运行时,字节码被加载,验证然后在说明器里面运行D.类加载器通过分别本机文件系统的类和从网络导入的类增加平安性
32.给出下面的代码publicclassPerson{intarr[]=newint
[10];〃非静态属性publicstaticvoidmainStringa[]{System.out.printlnarrLll;〃静态方法不能访问非静态属性}}哪些叙述是对的?[A]A.编译时出错B.编译时正确而运行时出错C.输出0D.输出null.给出下面的代码publicclassParent{publicintaddValueintaintb{ints;s=a+b;returns;classChildextendsParent{.公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100定义这个变量的代码为?[CD]publicintMAX_LENGTH=100;finalintMAX_LENGTH=100;finalpublicintMAX_LENGTH=100;〃修饰符的依次可以交换publicfinalintMAX_LENGTH=100;.下面的哪些java源文件代码片断是对的?[ACD]packagetestpackage;publicclassTest{//dosomething...importjava.io.*;packagetestpackage;publicclassTest{//dosomething...}importjava.io.*;classPerson{//dosomething...publicclassTest{//dosomething...}importjava.io.*;importjava.awt.*;publicclassTest{//dosomething...给出下面的类publicclassSample{longlength;publicSamplelong1{length=1;}publicstaticvoidmainStringarg[]{Samplesis2s3;si=newSample21L;s2=newSample21L;s3=s2;longm=21L;}}哪个表达式返回true[B]si二二s2;s2==s3;m==si;si.equalsm;
37.给出下面有关java.awt.List的表达式List1=newList6true;〃其次个参数是false的话只能选一个其中哪些叙述是正确的?[AC]A.在没有其它的约束的条件下该列表将有6行可见B.一行的最大字符数是6C.列表将允许用户多选D.列表只能有一项被选中
38.给出下面的代码classParent{Stringonetwo;publicParentStringaStringb{one=a;two二b;publicvoidprint{System.out.printinone;}publicclassChildextendsParent{publicChildStringaStringb{superab;}publicvoidprint{Systemout.printinone+to+two;}publicstaticvoidmainStringargs[]{Parentp=newParentrsouth“north;Parentt=newChildeastwest;p.print;t.print;}}下面的哪些状况或输出的结果正确?[E]A.编译时出错southeastsouthtonortheasttowestsouthtonortheastsoutheasttowest
39.类Teacher和Student都是类Person的子类Personp;Teachert;CswitchchDswitcha+b;
16.下列最终属性i的定义中,正确的是oAstaticfinalinti=100;Bfinalinti=l.2;Cfinali=w!;Dfinalchari;.下列类定义中,不正确的是Coclassx{・・・・classxextendsy{....}staticclassximplementsyly2{....}publicclassxextendsApplet{....}.设x、y为已定义的类名,下列声明x类的对象xl的语句中正确的是Astaticxxl;Bpublicxxl=newxint123;Cyxl;Dxxl=x;
19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是BAxintm{...}Bvoidxintm{...}Cxintmintn{...}Dxinthintmintn{...}.下列方法定义中,正确的是Aintx{charch=a;returnintch;}voidx{...returntrue;}intx{...returntrue;}intxintab{returna+b;}.用于定义类成员的访问限制权的一组关键字是Dclassfloatdoublepublicfloatbooleanintlongcharextendsfloatdoublepublicprivateprotected.不能构成循环的语句是CoAfor语句Bwhile语句Cswitch语句Ddo_while语句.下列程序段执行后b3的结果是DStudents;若pt和s都是非空值iftinstanceofPerson{s=Studentt;}这个语句导致的结果是什么?[c]//默认new时声明的都是本类;A.将构造一个Student对象B.表达式合法C.编译时非法D.编译时合法而在运行时可能非法
40.给出下面的代码Strings=hello”;Stringt=hello”;charc[]={h/e/l/l/o;下列选项里,哪些返回true[ACD]s.equalst;t.equalsc;s==t;D.t.equalsnewStringhello;E.t=c;
一、单选题本大题15小题,每小题2分,共30分.下列语句执行后,变量a、c的值分别是intx=182;intac;c=x/100;a=x%10;A12B21C
1.822D10082【答案】B.下面哪个表达式可用得到x和y的最大值?Axyy xBxyy xCxyx+yx-yDx=yy x;【答案】B.以下是应用程序中定义的静态方法printBinary若在其main方法中有方法调用语句printBinary2则输出的结果是ostaticvoidprintBinaryinti{System.out.printi+的2进制数表示为\tr;forintj=31;j=0;jifl«ji!=0System.out.print1;elseSystem.out.print0;Systemout.printlnO;//换行}A00000000000000000000000000000001B00000000000000000000000000000010C00000000000000000000000000001111D00000000000000000000000000000000【答案】B.应用程序的main方法中有以下语句,则输出的结果是Stringsi=
0.5s2=12;doublex=Double.parseDoublesi;inty=Integer.parselnts2;System.out.printinx+y;A
12.5B
120.5C12D“12・5”【答案】A.应用程序的main方法中有以下语句,则输出的结果是doublex=
1234.1234567;DecimalFormatforml=newDecimalFormat
0000.0f;System.out.printinnPI=n+forml.formatx;API=
1234.1BPI=1234CPI=
1234.1235【答案】A.下列程序段执行后的结果是oStrings=newString!abcdefgr;forinti=0;is.length;i+=2{System.out.prints.charAti;AacegBACEGCabcdefg【答案】A.应用程序的main方法中有以下语句,则输出的结果是int[]x={1223355678-987};intmax=x
[0];forinti=l;ix.length;i++{ifx[i]maxmax=x[i];Systemout.printinmax;A678B122C-987【答案】A.下列语句序列执行后,k的值是intx=2y=5k=0;switchx%y{case0k=x+y;break;case1k=x-y;break;case2k=x*y;break;default k=x/y;break;}System.out.printink;A2B5C10【答案】C.下面的程序输出的结果是()publicclassAimplementsB{publicstaticvoidmainStringargs[]{inti;Acl=newA;i=cl.k;System.out.printinni=r+i;}interfaceB{intk二10;}Ai=0Bi=10C程序有编译错误Di=true【答案】B.应用程序的main方法中有以下语句,则输出的结果是intb[][]={{l23}{45}{67}};intsum=0;forinti=0;ib.length;i++{forintj=0;jb[i].length;j++{sum+=b[i][j];}Systemout.printinHsum=+sum;A28B6C9D13【答案】AIL有整型数组int[]x={1235872};则调用方法Arrayssortx后数组x中的元素值依次是.A2781235B1235872C3512872D8712352【答案】A
12.编译和运行下面的应用程序,并在叮嘱行界面输入12345则回车后屏幕输出的结果是.publicclassA{publicstaticvoidmainStringargs[]throwslOException{BufferedReaderbuf=newBufferedReadernewInputStreamReaderSystemin;Stringstr=buf.readLine;intx=Integer.parselntstr;Systemout.printinx/100;}A45B5C123D12345【答案】c.下面的程序段执行后输出的结果是oStringBufferbuf=newStringBuffernBeijing2023n;buf.insert7@”;System.out.printinbuf.toStringO;ABeijing@2023B@Beijing2023CBeijing2023@DBeijing#2023【答案】A.下面的程序编译运行后输出的结果是publicclassAimplementsRunnable{publicstaticvoidmainStringargv[]{Aa=newA;Threadt=newThreada;t.start;publicvoidrun{whiletrue{try{Thread.currentThread.sleeplOOO;}catchInterruptedExceptione{System.out.printlne.toStringO;Systemout.printinloopingwhile;A)在屏幕上重复输出loopingwhileB)在屏幕上输出一次loopingwhileC)没有结果输出D)以上说法都错误【答案】A
15.下面的程序段创建了BufferedReader类的对象in以便读取本机d盘my文件夹下的文件l.txtFile构造函数中正确的路径和文件名的表示是()Filef=newFile(填代码处);file二newFileReader(f);in=newBufferedReader(file);A)
1.txtB)d\\my\\lC)Md\\my\\l.txtD)d\my\l.txt,r【答案】c
二、多选题(本大题10小题,每小题2分,共20分).下面的说法正确的是()oA)Java语言是面对对象的、说明执行的网络编程语言B)Java语言具有可移植性是与平台无关的编程语言0Java语言可对内存垃圾自动收集D)Java语言编写的程序虽然是“一次编译到处运行”,但必需要java的运行环境【答案】ABCD.下面main方法的定义哪些是正确的ApublicstaticvoidmainStringargs[]{}BpublicstaticvoidmainString[]{}CpublicstaticvoidmainString[]args{}DpublicstaticvoidmainString[]x{}【答案】ACD.定义变量如下charc=w;inti二8;longL=15;floatf=
8.9f;以下赋值语句正确的是oAi=c+i;Bc=c+i;CL=f+L;Df=i+L+f;【答案】AD.下面哪些关键字能用来限制对类成员的访问()?A)publicB)protectedC)privateD)default【答案】ABC.面对对象程序设计的基本特征是()A)抽象B)封装C)继承D)多态【答案】ABCD.下面关于类的说法正确的是()A)类是Java语言中的一种复合数据类型B)类中包含数据变量和方法C)类是对全部具有确定共性的对象的抽象D)Java语言的类只支持单继承【答案】ABCD.编译并运行下面的程序,运行结果为().publicclassT1{publicstaticvoidmainStringE]args{T1a=newT1;a.method8;a.method
1.2f;voidmethodfloati{Systemout.printinAfloat+i;voidmethodlongi{Systemout.printin!long+i;}}A程序有编译错误,因为两个method方法必需定义为静态static的B程序可以编译运行,输出结果为long8float
1.2C程序可以编译运行,输出结果为float
1.2long8D程序中定义的两个参数不同的method方法称为方法重栽【答案】BD.下面是在叮嘱行运行Java应用程序A怎样才能在mainStringargs口方法中访问单词firstjavaAthefirstsnowthefirstsnowcame.Aargs
[0]Bargs
[1]Cargs
[2]Dargs[5_【答案】BD.编译并运行下面的程序,运行结果为.publicclassA{publicstaticvoidmainStringE]args{Aa=newB;a.test;voidtest{System.out.printA;}classBextendsA{voidtest{supertest;System.out.printinB;}}A子类B定义了与父类A中同名的方法testjava中称为方法的覆盖B代码可以编译运行,并输出结果ABC)代码可以编译运行,并输出结果:AD)子类B定义了与父类A中同名的方法testjava中称为方法的重载【答案】AB.下面哪个说法正确()A)假如某公共的接口被声明在一个源文件中,则接口必需与源文件具有相同的名字B)假如源文件包含import语句,则该语句必需是除空行和注释行外的第一个语句行C)假如某源文件包含package语句,则该语句必需是第一个非空、非注释行D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰【答案】ABCD
三、填空题(本大题10小题,每小题1分,共10分).创建类的对象时,运用运算符给对象支配内存空间.定义类的构造方法不能有返回值类型,其名称与名相同.Java语言中关键字表示双精度类型.若有定义floatb={l.If
3.5f
6.8f};则b.length的值是.若有类定义classBextendsA{•••}则类B是类A的o.接口中的成员只有静态常量和o.在子类中运用关键字做前缀可调用被子类覆盖的父类中的方法.关键字用于导入包中的类到程序中,供程序中运用.Java语言中,通常把可能发生异样的方法调用语句放到try块中,并用紧跟其后的块来捕获和处理异常.程序中实现多线程的方法有两种继承类和实现Runnable接口【答案】new
2.类
3.double
4.
35.子类
6.抽象方法
7.super
8.import
9.catch
10.Thread
四、阅读程序,回答问题(本大题5小题,每小题5分,共25分)
1.(5分)1publicclassOutput1{2publicstaticvoidmain(Stringarge[]){booleanbl=trueb2b3;24=blbl b2;A0B1CtrueDfalse25下面数据结构中,属于非线性的是BA线性表B树C队列D堆栈
11.设有定义inti=123;longj=456;下面赋值不正确的语句是DoAj=i;Bj=longi;Ci=intj;Di=j;
二、填空题每空1分
1.构造函数—没—有返回值.Java语言中的浮点型数据依据数据存储长度和数值精度的不同,进一步分为float和—double两种具体类型.创建类对象的运算符是—newo.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是_n%13==0o.在Java语言中,全部的数组都有一个lenght属性,这个属性存储了该数组的—元素个数.定义类就是定义一种抽象的父类它是全部具有确定共性的对象的抽象描述.在Java语言中,运用—平台无关—、―java虚拟机—等技术,实现软件重用.表达式3/6*5的计算结果是—0―o.下面是一个类的定义publicclass_intMyclass{intxy;Myclassinti=0//构造函数x=i;y=j;forcharch=97;ch113;ch++i++{5ifi%8=06Systemout.printinf;7System.out.print!\tr+ch;8910⑴程序第
5、6行的if语句的功能是什么?2分2程序输出的结果有几行3分【答案】1每打印8个字符,则换行2输出的结果有2行5分1importjava.util.Arrays;23publicclassSortArray{4publicstaticvoidmainStringargs[]{5StringE]str={sizeabslengthclass};6Arrayssortstr;7forinti=0;istr.length;i++8System.out.printstr[i]+n;910⑴写出程序运行后的结果2分2方法调用str
[0].length的返回结果是多少?3分【答案】1absclasslengthsize245分1//TestKeyListener.java2importjavaapplet.Applet;3importjava.awt.*;4importjava.awt.event.*;6publicclassTestKeyListenerextendsApplet{78Colorclr;910publicvoidinit{1112addKeyListener13newKeyAdapter{14publicvoidkeyTypedKeyEvente{15ife.getKeyChar==frr||e.getKeyChar==1R116clr=Color.red;17else⑴程序第
15、16行实现的功能是什么?(2分)⑵编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的阅读器打开网页假如敲击键盘的b键,有什么结果?(3分)【答案】1假如敲击键盘的i键,则将颜色对象的值赋为红色2小程序的背景颜色变为兰色
4.定义类A和类B如下.5分classA{inta=l;doubled=
2.0;voidshowSystemout.printinnClassA a=+a+\td=+d;}}classBextendsA{floata=
3.Of;Stringd=HJavaprogram.H;voidshowsuper.show;Systemout.printinrClassB a=+a+\td=+d;}1若在应用程序的main方法中有以下语句Aa=newA;show;则输出的结果如何?2分2若在应用程序的main方法中定义类B的对象b Ab=newB;show;则输出的结果如何?3分【答案】ClassA a=ld=
2.0ClassA a=ld=
2.0ClassB a=
3.0d=Javaprogram.5分importjava.util.*;publicclassW{staticString]s={甲,乙,丙,丁};publicstaticvoidmainStringE]args{Stackstk=newStack;forinti=0;is.length;i++{stk.pushs[i]+n;}intk=0;whilek3{Systemout.printstk.pop;k++;}}⑴堆栈的操作规则如何?2分2写出程序运行后的结果3分【答案】⑴先进后出⑵丁丙乙
五、依据题目要求编写程序本大题2小题,第1小题5分,第2小题10分,共15分.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit分别描述一张牌的牌面值如A、K、Q、J、
10、
9、…、
3、2等和花色如“黑桃”、“红桃”、“梅花”和“方块”)定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFaceO得到扑克牌的牌面值;定义protected访问权限的方法getSuit()得到扑克牌的花色;定义方法toStringO返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)【答案】
1.classCardprivateStringface;privateStringsuit;publicCardStringfStrings{face=f;suit=s;protectedStringgetSuit{returnsuit;}protectedStringgetFace{returnface;publicStringtoString{returnface+of+suit;.若应用程序的main方法中,定义字符串数组f和s分别表示扑克牌的牌面值和花色;定义52个元素的Card类型数组deck用来存放4个花色的52张牌如下所示Stringf[]={A23456,78910MJ;QK;Strings口二{黑桃,红桃,梅花,方块};Carddeck=newCard
[52];1运用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、
2、
3、…、K;然后是红桃花色的A、
2、
3、…、K;梅花花色的A、
2、
3、…、K;方块花色的A、
2、
3、…、Ko请写出实现上述功能的程序段【答案】15分forinti=0;idecklength;i++{deck[i]=newCardfaces[i%13]suits[i/13];}2请编写模拟洗牌的程序段,即把数组deck中的扑克牌随机打乱存放依次【答案】25分forintfirst=0;firstdecklength;first++{intsecond=intMathrandom*52;Cardtemp=deck[first];deck[first]=deck[seconddeck[second]二temp;
10.下面是一个JavaApplication的主类的定义,其功能是输出全部叮嘱行参数importjava.io.*;publicclassMyClasspublicstaticvoidmainStringargs[]{ifargslength!=_0—forinti=0;iargslength;i++System.out.printin_ni=n+i;elseSystemout.printIn没有叮嘱行参数;}}11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名importjavaawt.*;importjavaapplet.*;publicclassmyprogramextendsApplet〃定义小程序的主类{Aa;Bb;publicmyprograminit{a=newA;b=new_B;.Java的复合数据类型有类、数组和—接口—等Java的简洁数据类型有数值类型整形和浮点类型,自负类型和布尔类型.表达式3/6*5的计算结果是_0o.定义初值为10的10次方的长整型变量Ivar的语句是long1var=l*el0□.依次结构、分支结构或称选择结构、—循环结构是结构化程序设计的三种基本流程限制结构.以下方法m的功能是求两参数之积的整数部分intmfloatxfloaty{k=intx*y;}.Java源程序文件编译后产生的文件称为一字节码—文件,其扩展名为.classo.Java和c++都是面对对象的程序设计语言
三、程序分析每题4分.下面是一个排序的程序importjava.io.*;publicclassTest56_Sort{publicstaticvoidmainStringargs[]{int[]a={4299563953626920096};System.out.printIn排序前的数据序列;ShowArraya;Sorta;System.out.printin排序后的数据序列;ShowArraya;publicstaticvoidSortint[]x{intw;forinti=l;ix.length;i++{forintj=0;jx.length-1;j++ifxLj]x[j+l]{W=x[j];x[j]=x[j+l];x[j+l]=w;}/*ifi=l||i=2ShowArrayx;ifi==2break;*/publicstaticvoidShowArrayintb[]forinti=0;ib.length;i++System.out.printb[i+i+]=+b[i];System.out.printin;}问题假如将方法Sort中的一对注释符/**/去掉,程序输出的结果是什么排序前的数据序列b
[0]=42b
[1]=99b
[2]=5b
[3]=63b
[4]=95b
[5]=36b
[6]=2b
[7]=69b
[8]=200b
[9]=96b
[0]=42b[l]=5b
[2]=63b
[3]=95b
[4]=36b
[5]=2b
[6]=69b
[7]=99b
[8]=96b
[9]=200b
[0]=5b
[1]=42b
[2]=63b[336b
[4]=2b
[5]=69b
[6]=95b
[7]=96b
[8]=99b
[9]=200排序后的数据序列b
[0]=5b[l]=42b
[2]=63b
[3]=36b
[4]=2b
[5]=69b
[6]=95b
[7]=96b
[8]=99b
[9]=
200.请写下程序的输出结果publicclassTest52{Stringstrl=nHelloJavaworld!\t;Stringstr2=nHellostudents!r;publicstaticvoidmainStringargs[]Systemout.printstrl;Systemout.printinstr2;}}输出结果.请写下程序的输出结果publicclassT2_4{publicstaticvoidmainStringE]argsintij;charc=*;fori=0;i5;i++forj=0;j=i;j++System.out.print;Systemout.printin;}}}输出结果
4、请写下程序的输出结果publicclassex22{publicstaticvoidmainStringargs{intxy;byteb=6;floatz=
1.234f;doublew=
1.23;booleanflag;x=12;y=300;flag=xy;System.out.printin!xy==n+flag;flag=zw;System.out.printinHzw-n+flag;
四、问答题(每题5分,).Java的接口和C++的虚类的相同和不同处由于Java不支持多继承,而有可能某个类或对象要运用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求与继承相比,接口有更高的灵敏性,因为接口中没有任何实现代码当一个类实现了接口以后,该类要实现接口里面全部的方法和属性,并且接口里面的属性在默认状态下面都是publicstatic全部方法默认状况下是public.一个类可以实现多个接口.垃圾回收的优点和原理并考虑2种回收机制Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再须要考虑内存管理由于有个垃圾回收机制,Java中的对象不再有作用域的概念,只有对象的引用才有作用域垃圾回收可以有效的防止内存泄露,有效的运用可以运用的内存垃圾回收器通常是作为一个单独的低级别的线程运行,不行预知的状况下对内存堆中已经死亡的或者长时间没有运用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或全部对象进行垃圾回收回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收3谈谈finalfinallyfinalize的区分Final—修饰符(关键字)假如一个类被声明为final意味着它不能再派生出新的子类,不能作为父类被继承因此一个类不能既被声明为abstract的,又被声明为final的将变量或方法声明为final可以保证它们在运用中不被变更被声明为final的变量必需在声明时给定初值,而在以后的引用中只能读取,不行修改被声明为final的方法也同样只能运用,不能重载Finally一再异样处理时供应finally块来执行任何清除操作假如抛出一个异样,那么相匹配的catch子句就会执行,然后限制就会进入finally块(假如有的话)Finalize一方法名Java技术允许运用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的它是在Object类中定义的,因此全部的类都继承了它子类覆盖finalize()方法以整理系统资源或者执行其他清理工作finalizeO方法是在垃圾收集器删除对象之前对这个对象调用的。