java胡宏智复习题_第1页
java胡宏智复习题_第2页
java胡宏智复习题_第3页
java胡宏智复习题_第4页
java胡宏智复习题_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java综合练习题一、单项选择题(共30题)。在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项的字母填在题中的括号内。1、Java源程序文件的扩展名为()。A、.javaB、.classC、.htmlD、.txtA2、为了使名为HelloWorld的类成功编译和运行,必须满足的条件()。A、HelloWorld类必须定义在HelloWorld.java文件中B、HelloWorld类必须定义为public类C、HelloWorld类必须导入java.lang包D、HelloWorld类中必须定义正确的main()方法D3、Java语言中提供的标准Java类库存储在()的包中。A、java.langB、java.awtC、java.utilD、java.appletA4、以下()是在Java源程序中出现的正确次序A、package,class,importB、class,package,importC、package,import,classD、import,class,packageC5、java.io包的File类是()。A、字节流类B、字符流类C、对象流类D、非流类D6、以下可以给对象加互斥锁的关键字是()。A、serializeB、staticC、transientD、synchronizedD7、以下可用于定义线程执行体的方法是()A、start()B、run()C、init()D、jion()B8、Java中实现输入/输出操作的类库在( )包中。A、java.output B、java.input C、java.io D、java.lang.io

C9、在java源程序的一个类中同时定义了多个同名的方法,同名的各个方法的形式参数的个数、类型或次序各不相同。这种面向对象的程序特性被称之为()A、覆盖B、隐藏C、重载D、封装C10、有Java语句如下,则说法正确的是( )int[]a,b=newint[5];A、此语句是错误的 B、a.length的值为5 C、b.length的值为5 D、a.length和b.length的值都为5C11、Java应用程序的入口方法是()A、start()B、init()C、main()D、run()C12、以下叙述正确的是()。A、匿名对象肯定是垃圾对象B、程序可以在指定的时间内调用垃圾回收器释放内存C、垃圾回收器可以确保Java程序不会产生内存泄露D、对象的finalize()方法在对象被垃圾回收器回收之前获得调用D13、以下不属于面向对象程序设计特性的是()A、封装B、多态C、继承D、重载E、耦合

E14、在Java程序中声明一个数组,错误的是( )A、inta[]; B、inta[][]; C、float[]a[]; D、floata[10];D15、下列属于Java基本数据类型的是()。A、IntegerB、DoubleC、StringD、charD16、只包含一个由public修饰的Java类Abc的Java源程序的正确取名为()。A、AbcB、abc.javaC、Abc.javaD、只要扩展名为.java的任意一个合法的文件名C17、在Java程序中有定义intx[][]=newint[4][5];则x.length和x[3].length的值分别是()A、5和3 B、5和4 C、4和3 D、4和5D18、设有如下的程序publicclassTest{publicstaticvoidmain(String[]args){StringSa=args[1];StringSb=args[2];StringSc=args[3];System.out.println("Sc="+Sc);}以下使得执行该程序的输出结果为Sa=2的命令行是()。A、javaTest2222B、javaTest

4242C、javaTest

2134D、javaTest

4321BE19、以下哪一个声明的方法强迫它的子类必须实现(implements)它()。A、publicdoublemethod()B、staticvoidmethod(doubleX){}C、privatedoublemethod()D、protectedvoidmethod(doubleX){}E、abstractpublicvoidmethod()20、下列定义的类中,可以用来创建可运行类的正确方法是()。A、publicclassXimplementsRunable{publicvoidrun{…}}B、publicclassXimplementsThread{publicvoidrun{…}}C、publicclassXimplementsThread{publicintrun{…}}D、publicclassXimplementsRunable{protectedvoidrun{…}}

AA21、以下是创建File对象的代码,错误的是( )A、Filef4=newFile("\Thedir\myfile.txt"); B、Filef2=newFile("/Thedir","myfile.txt");C、Filef1=newFile("/Thedir/myfile.txt"); D、Filef3=newFile("\\Thedir\\myfile.txt");D22、用Thread子类实现多线程的步骤顺序是()A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例C.创建Thread子类的实例,让线程调用start()方法D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法23、在Java程序中有代码如下:

System.out.println((newStringTokenizer("Weareastudent","a")).countTokens());则输出结果为( )A:Iamastudent B:2 C:1 D:3DA24、Java程序中需要检测错误的代码放在什么地方()A.try块B.catch块C.finally块D.throws块C25、在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。A.if…elseB.switchC.tryD.throw26、下面关于类及其修饰符的一些描述,不正确的是()A.abstract类只能用于派生子类,不能用于创建abstract类的对象B.final和abstract不可以同时修饰一个类C.final类不仅可以用于派生子类,也可以用于创建final类的对象D.abstract方法必须在abstract类(或接口)中声明,但abstract类的定义中可以没有abstract方法C27、若需要定义类变量或类方法,只能使用的关键字是()A.packageB.privateC.publicD.staticDB28、若在某个类中定义如下的方法:abstractintgetProduct(intx,inty);则该方法是()A.本地方法B.抽象方法C.最终方法D.静态方法C29、以下哪个不是合法的构造RandomAccessFile对象的代码()A.RandomAccessFile(newFile(“C:\\MyFile1\\dir1\\..\\Test.java”),”rw”)B.RandomAccessFile(“C:\\MyFile1\\Test.java”,”r”)C.RandomAccessFile(“C:\\MyFile1\\Test.java”)D.RandomAccessFile(“C:/MyFile1/Test.java”,”wr”)30、当使用FileInputStream类中的read()方法时,如果没有读入一个字节数据时,返回值为()A、0 B、false C、true D、-1D二、判断题(正确用√错误用×标记)(共27题)××1、一个Java类可以有多个父类。()2、使用length()方法可以获取字符串或数组的长度。()3、可以用new来创建abstract类的实例对象。

()4、子类对象中要调用父类的成员方法,必须使用关键字super。

()5、static方法不可以重载。

()6、JavaApplet小程序应该在浏览器中执行。

()7、一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。

()8、abstract与final不能同时修饰同一个类。

()×××√

×√

9、Java源程序中区分字母的大小写。()

10、Java程序中,可以将boolean类型的数据和其他类型的数据在一起运算。()×√×11、abstract类中不可以有private成员。

()12、static方法中可以引用非static成员。

()13、局部变量只能是方法体内定义的变量。

()14、被子类继承的父类方法,在子类中不能重载,只能重写(或覆盖)。

()15、抽象类中至少要有一个抽象方法。

()16、接口是一种特殊的抽象类,只要把抽象类中的方法都定义为抽象的,就可把此抽象类定义为接口。

()17、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

()18、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

()××××

×√

19、如果f是父类Flower的引用变量,而r是子类Rose的对象,则语句f=r是正确的。

()

√20、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。

()×√×21、Java中的默认访问权限是友好的,其访问权限受包的影响()22、接口和类一样也可以有继承关系,而且都只能支持单继承()23、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void

()24、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。

()25、在异常处理中,若try中的代码可能产生多种异常,则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。

()26、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。()

27、方法的重载是指同一类中定义名称相同的多个方法,他们的返回值类型不同或参数类型或参数的次序不同。

()×××

√×三、写出下面程序的结果(共6题)1、publicclassTest{publicstaticvoidmain(Stringargs[]){Strings1=newString("123");Strings2=newString("123");Strings3="123",s4="123";System.out.println((s1==s2)+","+(s1.equals(s2))+","+(s3==s4)+","+(s3.equals(s4)));}}______

________________false,true,true,true2、classTest{doubleD;publicdoublegetD(doubleD){D++;returnthis.D;}publicstaticvoidmain(Stringargs[]){System.out.println(newTest().getD(1));}}________________0.0三、写出下面程序的结果(共6题)3、

classTest{staticintX;intY;staticintMultiply(intZ){intA;A=X*Y*Z;returnA;}publicstaticvoidmain(Stringargs[]){System.out.println(Multiply(3));}}________________编译出现错误4、classputDataextendsThread{publicvoidrun(){for(inti=1;i<=5;i++)System.out.print(i+"");}}classTest{publicstaticvoidmain(Stringargs[])throwsInterruptedException{Threadth=newputData();th.start();System.out.println("程序结束啦!");}}程序结束啦!123455、

classSuperClass{privateinta=10;protectedintb=20;voidf(){System.out.print(a*b);}voidg(){System.out.print("SuperClassFunctionghasbeencalled!");}}publicclassTestextendsSuperClass{intc=5;publicvoidf(){System.out.println(b/c);}publicvoidtestfun(){System.out.println("sonfunctiontestfunhasbeencalled!");}publicstaticvoidmain(Stringargs[]){SuperClasssc=newSuperClass();sc.f();sc.g();sc=newTest();((Test)sc).testfun(); }}200SuperClassFunctionghasbeencalled!sonfunctiontestfunhasbeencalled!

6、

classA{protectedintx;inty;A(){x=0;y=0;System.out.println("AobjectofTypeAbasbeencreated!");}A(int_x,int_y){x=_x;y=_y;System.out.println("constructorofAwithargumentsbasbeencreated!"); }intaddxy(){returnx+y;} }classsubAextendsA{subA(){super();}

subA(int_x,int_y){super(_x,_y);} protectedintaddxy(){returnx+y+100;} }publicclassOverload{publicstaticvoidmain(String[]args){subAobj=newsubA();System.out.println("obj.addxy()="+obj.addxy());obj=newsubA(10,70);System.out.println("obj.addxy()="+obj.addxy());}}

AobjectofTypeAbasbeencreated!obj.addxy()=100constructorofAwithargumentsbasbeencreated!obj.addxy()=180四.编程题(共5题)1.计算从你上大学报到那一天(如2009年8月30号)到今天的相隔天数。importjava.util.*;classT{publicstaticvoidmain(Strirng[]args){Calendarcalendar=Calendar.getInstance();calendar.set(2009,8,30);longtime2009830=calendar.getTimeInMillis();calendar.set(2012,12,21);longtime20121221=calendar.getTimeInMillis();long相隔天数=(time20121221-time2009830)/(1000*60*60*24);System.out.println("2012年12月21日和2009年8月30日相隔"+相隔天数+"天");}}四.编程题(共5题)2.设计一个类T,求文本文件intfile1.txt中各行整数的和,并把和存入到另一个文件In.txt中。设文件In.txt中全是整数,整数序列被分成行,各行整数个数不等且用空格分隔。要求程序将文件中各行整数的和输出在另一个文件Result中。In.txt文件中数据如下:各行的和写入到Result文件中: 1534563 108 112168280 2132345588491importjava.io.*;importjava.util.*;publicclassCalresult{publicstaticvoidmain(Stringargs[]){Scannersc=null;try{sc=newScanner(newFile("In.txt"));FileWriterout=newFileWriter("Result.txt");while(sc.hasNextLine()){Strings=sc.nextLine();StringTokenizertoken=newStringTokenizer(s);longsum=0;while(token.hasMoreTokens()){sum+=Integer.parseInt(token.nextToken());}System.out.println(sum);out.write(""+sum);}out.close();}catch(FileNotFoundExceptione){System.out.println("文件找不到!"+e);}catch(IOExceptione){System.out.println("文件读写错!"+e);}}}四.编程题(共5题)3、编写一个类T,完成如下功能:(1)定义三个大整数IX、IY、IZ,求三个大整数中的最小数;(2)类中设计一个方法Fac(BigIntegerN),求N的阶乘。importjava.math.*;classThreadTest{publicstaticvoidmain(String[]args){BigIntegerIX=newBigInteger("10"),IY=newBigInteger("5898598"),IZ=newBigInteger("688668");System.out.println("IX的阶乘"+fac(IX).toString());if(IX.compareTo(IY)<0&&IX.compareTo(IZ)<0)System.out.println("min="+IX.toString());if(IY.compareTo(IX)<0&&IY.compareTo(IZ)<0)System.out.println("min="+IY.toString());if(IZ.compareTo(IY)<0&&IZ.compareTo(IX)<0)System.out.println("min="+IZ.toString());}publicstaticBigIntegerfac(BigIntegerx){BigIntegerone=newBigInteger("1"),f=newBigInteger("1");for(BigIntegeri=one;pareTo(x)<0;i=i.add(one)){f=f.multiply(i);}returnf;}}四.编程题(共5题)4.有集合A={1,3,5,8}和B={1,3,7,9,},编写一个程序求(A∪B)-(A∩B)。

importjava.util.*;publicclassExample{publicstaticvoidmain(Stringargs[]){Integerone=newInteger(1),two=newInteger(2),three=newInteger(3),four=newInteger(4),seven=newInteger(7),nine=newInteger(9); HashSet<Integer>A=newHashSet<Integer>(), B=newHashSet<Integer>(),tempSet=newHashSet<Integer>(); A.add(one);A.add(two);A.add(three);A.add(four); B.add(one);B.add(three);B.add(seven);B.add(nine); tempSet=(HashSet<Integer>)A.clone(); A.addAll(B);//A∪B并集-->AB.retainAll(tempSet);//(A∩B)—》B的交集A.addAll(B);//(A∪B)-(A∩B)-->Aintnumber=B.size();System.out.println("A和B的(A∪B)-(A∩B)集合中有"+number+"个元素");//Iterator<Integer>iter=B.iterator();while(iter.hasNext()){Integert=iter.next();System.out.print(Value()+"");}}}四.编程题(共5题)5.编写一个类T,类中有一个方法LongerString,要求在一个字符串数组中找出长度最长的一个元素。其中字符串数组是方法的参数,最长的一个元素是方法的返回值。publicclassT{staticStringLongerString(String[]S){StringmaxStr=S[0];for(inti=1;i<S.length;i++)if(maxStr.length()<S[i].length())maxStr=S[i];returnmaxStr;}publicstaticvoidmain(String[]args){Stringb[]={"asdf","saffdfd","as"};System.out.println(shortString(b));}}

五、简答题

1、什么是正则表达式?写出与模式“X[168]{2}”匹配的4个字符串。

是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其用途是在文本编辑器或其他工具里,用来检索和/或替换那些符合某个模式的文本内容。A11,A16,A18,A61,A66,A68,A81,A86,A88均算正确。2、String和StringBuffer的区别?

String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,其中的字符串是不可以再改变的。StringBuffer类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空

温馨提示

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

评论

0/150

提交评论