还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
福师1203考试批次《Java程序设计》复习题及参考答案注本课程复习题所提供的答案仅供学员在复习过程中参考之用,有问题请到课程论坛提问福师1203考试批次《Java程序设计》复习题及参考答案
一一、选择(共20分每题2分)
1.编译JavaApplet源程序文件产生的字节码文件的扩展名为A..java;B..class;C..html;D..exe参考答案B
2.设a=8,则表达式a2的值是A.1;B.2;C.3;D.4参考答案B
3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为A.staticvoidmethod();B.publicvoidmethod();C.finalvoidmethod();D.abstractvoidmethod()参考答案A
4.下面程序段的输出结果是()StringMyStr=Hello;MyStr=MyStr+Guys!;A.HelloGuys!;B.Hello;C.Guys!;D.10参考答案D
5.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句参考答案C
6.设x=1y=2z=3,则表达式y+=z--/++x的值是A.3B.
3.5C.4D.5参考答案A
7.下列哪个是合法的Java标识符?()A、TreeGlassesB、FirstJavaAppletC、_$theLastOneD、
273.5参考答案B
8.对于构造函数,下列叙述不正确的是()A、构造函数是类的一种特殊函数,它的方法名必须与类名相同B、构造函数的返回类型只能是void型C、构造函数的主要作用是完成对类的对象的初始化工作D、一般在创建新对象时,系统会自动调用构造函数参考答案B
9.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是Ai=i+2 Ba
[0]=7;Ci++---j; Da0=66;参考答案A
10.给出下面程序段()若打印字符串“Howareyou”则x的取值范围是A.x-3B.x0C.x=0x-3D.x=-3参考答案D
二、填空题(共20分每题2分)
1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是、和参考答案聚合、关联、组合
2.设x=2,则表达式x++*3的值是参考答案
93.若x=5,y=10,则xy和x=y的逻辑值分别为和参考答案falsetrue
4.顺序执行以下两个语句的输出结果是Strings=“我喜欢学习Java!”;参考答案
155.据程序的构成和运行环境的不同,Java源程序分为两大类和程序参考答案JavaApplet、JavaApplication
6.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名必须为参考答案Applet、MyApplet.java
7.一个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令、参考答案JavacMyJavaApplication.java、javaMyJavaApplication
8.创建一个名为MyPackage的包的语句是,该语句应该放在程序的位置为参考答案packageMyPackage;、该在程序第一句
9.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义方法是不能被当前类的子类重新定义的方法参考答案抽象方法、最终方法
10.形式参数指的是方法被时的参数行,实际参数是方法被时所传递进去的变量或值参考答案定义、调用
三、问答(共20分每题5分)
1.开发与运行java程序需要经过哪些主要步骤和过程,用到哪些工具运行编译好的字节码文件使用什么命令java解释器完成哪些任务什么是JIT什么是JVM参考答案开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码需要用到的开发工具是JDK运行编译好的字节码文件使用什么命令是javaJava解释器直接对Java字节码进行解释执行JIT是justintime即时编译技术使用该技术,能够加速java程序的执行速度在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口,使得Java能够跨平台
2.Java程序分为哪两大类它们之间有哪些差别参考答案Java写出来的程序可分为两类,分别是JavaApplet与一般的Application,而Application是一个独立可执行的应用程序,是单独的程序Applets类似于应用程序,但是它们不能单独运行,Applets可以在支持Java的浏览器中运行Applet主要是内置于HTML网页中,在浏览时发挥作用
3.作用域publicprivateprotected以及不写时的区别参考答案区别如下作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×default √ √ × ×private √ × × ×不写时默认为default
4.和的区别参考答案是位运算符,表示按位与运算,是逻辑运算符,表示逻辑与(and)
四、写出下面程序的运行结果(共20分每题5分)
1.publicclassabc{publicstaticvoidmainStringargs[]{intis=0;inta[]={102030405060708090};fori=0;ia.length;i++ifa[i]%3==0s+=a[i];}}参考答案s=
1802.publicclassabc{publicstaticvoidmainStringargs[]{SubSubClassx=newSubSubClass102030;x.show;}}classSuperClass{intab;SuperClassintaaintbb{a=aa;b=bb;}voidshow}classSubClassextendsSuperClass{intc;SubClassintaaintbbintcc{superaabb;c=cc;}}classSubSubClassextendsSubClass{inta;SubSubClassintaaintbbintcc{superaabbcc;a=aa+bb+cc;}voidshow}参考答案a=60b=20c=
303.publicclassClass1{publicstaticvoidmainStringargs[]{SubClassa=newSubClass103;}}classSuperClass{floatx;intn;SuperClassfloatxxintnn{x=xx;n=nn;}}classSubClassextendsSuperClass{SubClassfloatxxintnn{superxxnn;}floatexp{floats=1;forinti=1;i=n;i++s=s*x;returns;}}参考答案
10004.publicclassabc{publicstaticvoidmainStringargs[]{SubClasssb=newSubClass;}}classSuperClass{inta=10b=20;}classSubClassextendsSuperClass{intmax{returnaBa:B;}}参考答案20
五、编程(共20分每题20分)1.编写一个字符界面的JavaApplication程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和参考答案publicclassTest{publicstaticvoidmainString[]argsthrowsIOException{BufferedReaderreader=newBufferedReadernewInputStreamReaderSystem.in;Strings;intcount=0;s=reader.readLine;Integeri=Integer.valueOfs;intiii=i.intValue;doubled=0;forintj=1;jiii;j++{d=j+d;}reader.close;}}2.编写一个学生类Student,要求1学生类Student属性有id:long型,代表学号name:String类对象,代表姓名age:int型,代表年龄sex:boolen型,代表性别(其中true表示男,false表示女)phone:String类对象,代表联系电话2学生类Student的方法有StudentlongiStringnintabooleanslongp:有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话intgetAge:获取年龄作为方法的返回值booleangetSex:获取性别作为方法的返回值longgetPhone:获取联系电话作为方法的返回值publicStringtoString:以“姓名联系电话”的形式作为方法的返回值参考答案PublicClassStudent{Longid;Stringname;Intage;Booleansex;Stringphone;PublicStudentlongiStringnintabooleanslongp{Id=I;Name=n;Age=a;Sex=s;Phone=s;}PublicintgetAge{returnage;}PublicbooleangetSex{Returnsex;}PubliclonggetPhone{Returnphone;}publicStringtoString{returnname+”:”+phone;}}福师1203考试批次《Java程序设计》复习题及参考答案
二一、选择(共20分每题2分)
1.设有定义inti=6;,则执行以下语句后,i的值为i+=i-1;A10B121C11D100参考答案C
2.若已定义byte[]x={112233-66};其中0≤k≤3,则对x数组元素错误的引用是Ax[5-3]Bx[k]Cx[k+5]Dx
[0]参考答案C
3.下列语句序列执行后,ch1的值是charch1=Ach2=W;ifch1+2ch2++ch1;A‘AB‘BC‘CDB参考答案B
4.下列语句序列执行后,i的值是inti=8j=16;ifi-1ji--;elsej--;A15B16C7D8参考答案D
5.下列语句序列执行后,k的值是inti=10j=18k=30;switchj-i{case8:k++;case9:k+=2;case10:k+=3;default:k/=j;}A31B32C2D33参考答案C
6.下面语句执行后,i的值是forinti=0j=1;j5;j+=3i=i+j;A4B5C6D7参考答案B
7.设有定义floatx=
3.5fy=
4.6fz=
5.7f;则以下的表达式中,值为true的是Axy||xz Bx!=yCzy+x Dxy!xz参考答案B
8.下列语句序列执行后,i的值是inti=16;do{i/=2;}whilei3;A16B8C4D2参考答案C
9.以下由for语句构成的循环执行的次数是forinti=0;true;i++;A有语法错,不能执行B无限次C执行1次D一次也不执行参考答案B
10.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是(Aswitchx+y{......} Bswitchch+1{......} Cswitchch {......}Dswitcha+b;{......} 参考答案C
二、填空题(共20分每题2分)
1.在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系参考答案单多
2.设有数组定义int MyIntArray[]={10203040506070};则执行以下几个语句后的输出结果是120 ints=0; forinti=0;iMyIntArray.length;i++ ifi%2==1 s+=MyIntArray[i]; 参考答案
1203.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为和两种具体类型参考答案单精度双精度
4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是____________参考答案n%13==
05.表达式3/6*5的计算结果是________参考答案
06.下面是一个类的定义:publicclass_int Myclass{intxy;Myclassinti_______//构造函数{x=i;y=j;}}参考答案intj
7.定义初值为10的10次方的长整型变量lvar的语句是_________________参考答案longlvar=longMath.pow1010;
8.对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用_________的方法参考答案父类
9.____________类不能被继承,即不能有子类参考答案final
10.____________类不能创建对象,必须产生其子类,由子类创建对象参考答案abstract
三、问答(共20分每题5分)
1.Strings=newStringxyz;创建了几个StringObject参考答案两个,一个字符对象,一个字符对象引用对象
2.Math.round
11.5等於多少Math.round-
11.5等於多少参考答案Math.round
11.5==12;Math.round-
11.5==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor
3.数组有没有length这个方法String有没有length这个方法参考答案数组没有length这个方法,有length的属性String有length这个方法
4.Overload和Override的区别Overload的方法是否可以改变返回值的类型?参考答案方法的重写Overriding和重载Overloading是Java多态性的不同表现重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 Overriding子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被屏蔽了如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载OverloadingOverloaded的方法是可以改变返回值的类型
四、写出下面程序的运行结果(共20分每题5分)
1、publicclassTest52{Stringstr1=”HelloJavaworld!\t”;Stringstr2=”Hellostudents!”;publicstaticvoidmainStringargs[]{}}参考答案HelloJavaworld!Hellostudents!
2、publicclassT2_4{publicstaticvoidmainString[]args{ intij; charc=*; fori=0;i5;i++ { forj=0;j=i;j++ } }}参考答案*****************
3、publicclassex2_2{ publicstaticvoidmainStringargs[] { intxy; byteb=6; floatz=
1.234f; doublew=
1.23; booleanflag; x=12; y=300; flag=xy; flag=zw; }}参考答案xy==falsezw==true
4、import publicclassabc{ publicstaticvoidmainStringargs[] {ABs=newABHello!IloveJAVA.; }}class AB{String s1;String s2;ABStringstr1Stringstr2{s1=str1;s2=str2;}public String toString{returns1+s2;}}参考答案Hello!IloveJAVA.
五、编程(共20分每题20分)
1、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”参考答案将输入的字符串先转换成字节数组,计算输入的字符串的长度,如果长度大于输入的字节数,则截取相应位数publicstaticbooleanisLettercharc{intk=0X80;returnc/k==0true:false;}publicstaticintlengthsStringstrSrc{ifstrSrc==null{return0;}intlen=0;char[]strChar=strSrc.toCharArray;forinti=0;istrChar.length;i++{len++;if!isLetterstrChar[i]len++;}returnlen;}publicstaticStringsubStringStringoriginintlen{iforigin==null||origin.equals||len1{return;}iflenlengthsorigin{returnorigin;}byte[]strByte=newbyte[len];System.arraycopyorigin.getBytes0strByte0len;intcount=0;forinti=0;ilen;i++{intvalue=intstrByte[i];ifvalue0count++;}ifcount%2!=0{len=len==1++len:--len;}returnnewStringstrByte0len;}publicstaticvoidmainString[]args{}
2、从控制台读入5个int型数存入数组,先将数组元素逆序输出,再对数组元素进行降序排序,然后输出排好的数组元素参考答案逆序输出即遍历时从后向前遍历对数组排序可使用冒泡排序法publicclassMySort{/***@paramargs*/publicstaticvoidmainString[]args{//TODOAuto-generatedmethodstubintnum[]=newint
[5];Scannerinput=newScannerSystem.in;inti=0;//获取五个整数输入whilei5{try{num[i]=input.nextInt;i++;}catchNumberFormatExceptione{}}//排序前输出forintelem:num{}//对五个整数排序先升序,再降序Arrays.sortnum;intnum1[]=newint
[5];forintj=0;j5;j++num1[j]=num[4-j];num=num1;forintelem:num{}}}福师1203考试批次《Java程序设计》复习题及参考答案
三一、选择(共20分每题2分)
1.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是 Axintm{...}Bvoidxintm{...}Cxintmintn{...}Dxinthintmintn{...}参考答案B
2.下列方法定义中,正确的是Aintx{charch=a;returnintch;}Bvoidx{...returntrue;}Cintx{...returntrue;}DintxintaB{returna+b;}参考答案A
3.下列程序段执行后b3的结果是booleanb1=trueb2b3;b3=b1?b1:b2;A0B1CtrueDfalse参考答案C
4、下列数组a中,版本较新的能在程序运行时动态调整大小的是()A.String[]aB.inta[]C.a=newArrayD.a=newArrayList参考答案D
5、按运算符操作数的数目划分,运算符?的类型是()A.一元B.三元C.二元D.四元参考答案B
6、下列代码的执行结果是()publicclassTest3{publicstaticvoidmainStringargs[]{}}A.
11.0B.11C.
1.
01.0D.
1.01参考答案A
7、下列赋值语句中错误的是()A.doubled=
5.3E12;B.floatf=
11.1fC.bytebb=433;D.charc=\r;参考答案C
8、类Panel默认的布局管理器是()A.BorderLayoutB.GridLayoutC.GardLayoutD.FlowLayout参考答案D
9、在Java中,能实现多重继承效果的方式是()A.适配器B.内部类C.同步D.接口参考答案D
10、char类型的取值范围是()A.0~216-1B.2-7~27-1C.0~28-1D.-215~215-1参考答案A
二、填空题(共20分每题2分)
1.面向对象程序设计所具有的基本特征是________________,________,参考答案多态继承封装
2.数组x定义如下 intx[][]=newint
[3]
[2] 则x..length的值为____3_______,x
[0].length的值为_______2____参考答案
323.Java中实现多线程一般使用两种方法,一是____________,二是____________参考答案继承Thread类实现Runnable接口
4.Applet常用的方法是_________、_________、_________和destroy参考答案initstartstop
5.面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和________的集合体参考答案方法
6.在Java中所有实现的多维数组,实际上是由一维数组构成的________参考答案数组
7.每个Applet程序必须有一个类是________类的子类参考答案Applet
8.break语句最常见的用法是switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的_______开始执行参考答案语句
9.当使用Threadt=newThreadr创建一个线程时,表达式rinstanceofThread的值是________参考答案false
10.在Java语言中,使用___________、___________等技术,实现软件重用参考答案继承封装
三、问答(共20分每题5分)
1.error和exception有什么区别参考答案error 表示恢复不是不可能但很困难的情况下的一种严重问题比如说内存溢出不可能指望程序能处理这样的情况exception 表示一种设计或实现问题也就是说,它表示如果程序运行正常,从不会发生的情况
2.
14、在JAVA中,如何跳出当前的多重嵌套循环?参考答案用break; return 方法
3.abstractclass和interface有什么区别参考答案
1、abstractclass中可以包含实现的方法,interface里只能包含抽象方法
2、抽象类中可以定义变量,接口中只能定义静态常量
3、抽象类只能被单根继承,一个类可以实现多个接口,接口也可以多继承
4.接口是否可继承接口抽象类是否可实现implements接口抽象类是否可继承实体类concreteclass参考答案接口可以继承接口抽象类可以实现implements接口,抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数
四、写出下面程序的运行结果(共20分每题5分)
1、classA{ doublefdoublexdoubley{ returnx*y; } } classBextendsA{ doublefdoublexdoubley{ returnx+y; } } publicclassTest{ publicstaticvoidmainStringargs[] Bobj=newB; } }参考答案
102、publicclassUnchecked{publicstaticvoidmainString[]args{try{method;}catchExceptione{}finally{}}staticvoidmethod{try{wrench;}catchArithmeticExceptione{}finally{}}staticvoidwrench{thrownewNullPointerException;}}参考答案异常处理,捕获异常EFAB
3、阅读下面程序_____ publicclassBreakLabelTest{ publicstaticvoidmainStringargs[]{ Stringoutput=""; stop:{ forintrow=1;row=10;row++{ forintcolumn=1;column=5;column++{ ifrow==5 breakstop; output+=""; } output+=“n”; } output+=“\nLoopsterminatednormally”; } JOptionPane.showMessageDialog Nulloutput“用一个标志测试break语句” JOptionPane.INFORMATION_MESSAGE; System.exit0; } } 程序运行结果是_______________参考答案格式化输出,窗口中有4行.....
4、publicclassTest{publicstaticvoidmainString[]args{intx;inta[]={000000};calculateaa
[5];}staticintcalculateintx[]inty{forinti=1;ix.length;i++ifyx.lengthx[i]=x[i-1]+1;returnx
[0];}}参考答案thevalueofa
[0]is0thevalueisa
[5]is5
四、编程(共20分每题20分)
1、利用条件运算符的嵌套来完成学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示程序分析aBa:b这是条件运算符的基本例子参考答案条件运算符的格式为xyA:Bmain{ intscore; chargrade; printfpleaseinputascore\n; scanf%dscore; grade=score=90A:score=60B:C; printf%dbelongsto%cscoregrade;}
2、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数参考答案利用for语句条件为输入的字符不为\npublicstaticvoidmainString[]argsthrowsIOException{BufferedReaderbr=newBufferedReadernewInputStreamReaderSystem.in;Stringstr=br.readLine;intcountNum=0;//统计数字的个数intcountChar=0;//统计英文字母的个数intcountSpace=0;//统计空格的个数intcountOthers=0;//统计其它字符的个数forinti=0;istr.length;i++{charc=str.charAti;ifc=0intc=9{countNum++;}elseifc=ac=z||c=Ac=Z{countChar++;}elseifc=={countSpace++;}else{countOthers++;}}}。