版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《JAVA语言程序设计》期末考试试题及答案《JAVA语言程序设计》期末考试试题及答案《JAVA语言程序设计》期末考试试题及答案《JAVA语言程序设计》期末考试试题及答案编制仅供参考审核批准生效日期地址:电话:传真:邮编:《JAVA语言程序设计》期末考试试题及答案(应考必备题库)一、单选择题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。A.javaB..classC.htmlD..exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。A.3B.3.5C.4D.53、不允许作为类及类成员的访问控制符的是()。A.publicB.privateC.staticD.protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。3、设x=2,则表达式(x++)/3的值是0。4、若x=5,y=10,则x<y和x>=y的逻辑值分别为true和false。5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;i<;i++)if(i%2==1)s+=MyIntArray[i];、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。三、写出下面程序的运行结果1、import.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB("Hello!","IloveJAVA.");));}}classAB{Strings1;Strings2;publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}运行结果:Hello!IloveJAVA.2、import.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;i<;i++)if(a[i]%3==0)s+=a[i];"s="+s);}}运行结果:s=1803、import.*;publicclassabc{publicstaticvoidmain(Stringargs[]){"a="+a+"\nb="+b);}}classSubClassextendsSuperClass{intc;SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;}}classSubSubClassextendsSubClass{inta;SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);A=aa+bb+cc;}voidshow(){"a="+a+"\nb="+b+"\nc="+c);}}运行结果:a=60 b=20 c=30《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)一.判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×)二.单项选择题1.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参()A、Stringargs B、Stringar[] C、Chararg D、StringBufferargs[]2.以下关于继承的叙述正确的是()。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3.paint()方法使用哪种类型的参数()A、Graphics B、Graphics2D C、String D、Color4.以下哪个不是Java的原始数据类型()A、int B、Boolean C、float D、char5.以下哪项可能包含菜单条( )。A、Panel B、Frame C、Applet D、Dialog6.若需要定义一个类域或类方法,应使用哪种修饰符()A、static B、package C、private D、public7.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行()。A、init() B、start() C、destroy() D、stop()8.给出下面代码,关于该程序以下哪个说法是正确的()publicclassPerson{staticintarr[]=newint[5];publicstaticvoidmain(Stringa[]){}}A、编译时将产生错误 B、编译时正确,运行时将产生错误C、输出零 D、输出空9.下列哪些语句关于Java内存回收的说明是正确的()A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象10.以下哪个关键字可以用来对对象加互斥锁()A、transient B、synchronized C、serialize D、static11.以下代码段执行后的输出结果为() intx=-3;inty=-10; 、 -1 B、2 C、1 D、312.有以下程序片段,下列哪个选项不能插入到行1。()1.2.publicclassInteresting{3.A、import.*; B、packagemypackage; C、classOtherClass{} D、publicclassMyClass{}13.设有下面两个赋值语句:a=(“12”);b=(“12”).intValue();下述说法正确的是()。A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型A、OutputStream B、File C、InputStream D、BufferedOutputStream15.在编写JavaApplet程序时,需在程序的开头写上()语句。A、import.*; B、import;C、import.*; D、import;16.类Parent、Child定义如下:1. publicclassParent2.{publicfloataFun(floata,floatb)throws3.IOException{}4.}5.publicclassChildextendsParent{6.7.} 将以下哪种方法插入行6是不合法的。()A、floataFun(floata,floatb){}B、publicintaFun(inta,intb)throwsException{}C、publicfloataFun(floatp,floatq){}D、publicintaFun(inta,intb)throwsIOException{}17.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。A、private B、protected C、privateprotected D、public18、有以下方法的定义,请选择该方法的返回类型()。 ReturnTypemethod(bytex,doubley) { return(short)x/y*2; }A、byte B、short C、int D、double19、关于以下代码段的说法正确的是()1.Strings="abcde";2.StringBuffers1=newStringBuffer("abcde");3.if(s1))4.s1=null;5.if(s))6.s=null;A、第1行编译错误,String的构造器必须明确调用B、第3行编译错误,因为s与s1有不同的类型C、编译成功,但执行时在第5行有异常抛出D、编译成功,过程中也没有异常抛出20、编译并运行以下程序,以下描述哪个选项是正确的()1.classX{2. protectiedStringtoString()i{3. return();}4. }A、编译通过运行无异常 B、编译通过但运行时出错C、行2出错,不能成功编译 D、不能成功编译,行3出错三.程序阅读题1.以下程序的输出结果为相等。classStringTest1{ publicstaticvoidmain(String[]args) { Strings1="hello"; Strings2=newString("hello"); if(s2)){ "相等"); }else{ "不相等"); } }}2.以下程序段的输出结果为56789。publicclassTestArray{publicstaticvoidmain(Stringargs[]){ inti,j; inta[]={5,9,6,8,7}; for(i=0;i<;i++){ intk=i; for(j=i;j<;j++) if(a[j]<a[k])k=j; inttemp=a[i]; a[i]=a[k]; a[k]=temp; } for(i=0;i<;i++) ""););}}3.写出以下程序的功能。import.*;publicclassTestFile{ publicstaticvoidmain(Stringargs[])throwsException{BufferedReaderbr=newBufferedReader(newInputStreamReader);BufferedWriterbw=newBufferedWriter(newFileWriter(“"));Strings;while(true) {"请输入一个字符串:");s=();if()==0)break;(s);();}();}}功能:从键盘逐一输入字符串,逐一输出至文件中,直至输入空行。4.阅读以下程序,写出输出结果。classAnimal{Animal(){("Animal");}}publicclassDogextendsAnimal{Dog(){("Dog");}publicstaticvoidmain(String[]args){Dogsnoppy=newDog();}}输出结果:AnimalDog《JAVA语言程序设计》期末考试试题及答案3(应考必备题库)一、单项选择题1、如下哪个是Java中的标识符()A、public B、super C、3number D、width2、如下哪个是Java中的标识符()A、fieldnameB、super C、3number D、#number3、已知如下定义:Strings="story";下面哪个语句不是合法的()A、s+="books"; B、s=s+100;C、intlen=; D、Stringt=s+“abc”;4、如下哪个是Java中有效的关键字()A、name B、hello C、false D、good5、下面的代码段执行之后count的值是什么() intcount=1; for(inti=1;i<=5;i++){ count+=i; } 、5 B、1 C、15 D、166、定义一个类,必须使用的关键字是()A、public B、class C、interface D、static7、定义一个接口必须使用的关键字是()A、public B、class C、interface D、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、(b); B、(b,"North"); C、(b,"South"); D、(p,"North");9、声明并创建一个按钮对象b,应该使用的语句是()A、Buttonb=newButton(); B、buttonb=newbutton();C、Buttonb=newb(); D、(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayout B、BorderLayout C、CardLayout D、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A、import.*; B、import.*;C、import.*; D、import.*;12、下面哪一个import命令可以为我们提供编写网络应用程序的类()A、import.*; B、import.*;C、import.*; D、import.*;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、FileInputStream B、FileOutputStreamC、DataOutputStream D、FileWriter二、填空题1、如果将类MyClass声明为public,它的文件名称必须是()才能正常编译。2、Java程序中的单行注释符是(;)。8、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。9、假设x=13,y=4,则表达式x%y!=0的值是(true),其数据类型是(boolean)。10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。11、以下程序段的输出结果是(三角形) intx=5,y=6,z=4; if(x+y>z&&x+z>y&&z+y>x) "三角形"); else "不是三角形");12、下面程序段的执行结果是(65432) inta[]={2,3,4,5,6}; for(inti=-1;i>=0;i--) +"");三、程序阅读题1、以下程序的输出结果为_Peteris17yearsold!___。publicclassPerson{ Stringname; intage; publicPerson(Stringname,intage){ =name; =age; } publicstaticvoidmain(String[]args){ Personc=newPerson("Peter",17); +"is"++"yearsold!"); }}2、以下程序的输出结果为__课程号:101课程名:ASP学分:3___。publicclassCourse{ privateStringcNumber; privateStringcName; privateintcUnit; publicCourse(Stringnumber,Stringname,intunit){ cNumber=number; cName=name; cUnit=unit; } publicvoidprintCourseInfo(){ "课程号:"+cNumber+"课程名:"+cName+"学分:"+cUnit); }}classCourseTest{ publicstaticvoidmain(String[]args){ Coursec; c=newCourse("101","ASP",3); (); }}3、以下程序的输出结果为__汤姆猫体重:斤___。publicclassTom{ privatefloatweight; privatestaticStringname; publicvoidsetWeight(floatweight){ =weight; } privatevoidout(){ +"体重:"+weight+"斤"); } publicstaticvoidmain(String[]args){ ="汤姆猫"; Tomcat=newTom(); (20); (); }}4、以下程序的输出结果_姓名:Tom年龄:15家庭住址:金水区电话:学校:九中_。publicclassFather{ Stringname,address,tel; intage; publicFather(Stringname,intage){ =name; =age; } voidout(){ "姓名:"+name); "年龄:"+age); } voidoutOther(){ "家庭住址:"+address); "电话:"+tel); }}classSonextendsFather{ Stringschool; publicSon(Stringname,intage){ super(name,age); } voidout(){ (); (); "学校:"+school); } publicstaticvoidmain(Stringargs[]){ Sonson=newSon("Tom",15); ="金水区"; ="九中"; =""; (); }}5、下列程序的运行结果是__12345____。publicclassMyClass{ inta[]={1,2,3,4,5}; voidout(){ for(intj=0;j<;j++) +""); } publicstaticvoidmain(String[]args){ MyClassmy=newMyClass(); (); }}四、简答题1、简述Java中异常处理的机制答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行finally块。2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。2、什么是继承答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。3、请简述重载和重写的区别答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序(1)创建一个Rectangle类,添加width和height两个成员变量(2)在Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积解答:publicclassRectangle{ floatwidth,height; publicRectangle(floatwidth,floatheight){ =width; =height; } publicfloatgetLength(){ return+*2; } publicfloatgetArea(){ return*; } publicstaticvoidmain(String[]args){ Rectanglerect=newRectangle(10,20); "周长是:"+()); "面积是:"+()); }}2、按以下要求编写程序(1)编写Animal接口,接口中声明run()方法(2)定义Bird类和Fish类实现Animal接口(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法解答:publicinterfaceAnimal{ voidrun();}classBirdimplementsAnimal{ publicvoidrun(){ "鸟儿在飞..."); }}classFishimplementsAnimal{ publicvoidrun(){ "鱼儿在游..."); }}publicclassTestAnimal{ publicstaticvoidmain(String[]args){ Birdbird=newBird(); (); Fishfish=newFish(); (); }}3、编写一个Frame框架应用程序,要求如下:(1)在窗口设置两个菜单“文件”、“编辑”(2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”(3)在“编辑”菜单里添加两个菜单项“复制”、“粘贴”(4)点击关闭菜单项时,使程序关闭。解答:import*主窗体*/publicclassMyFrameextendsFrame{ privatestaticfinallongserialVersionUID=294L; privateFramefrmMain; A)2781235 B)1235872C)3512872 D)87123523、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件。File构造函数中正确的路径和文件名的表示是()。Filef=newFile(填代码处);file=newFileReader(f);in=newBufferedReader(file);A)"./"B)"../my/"C)"c:\\my\\"D)"c:\my\"4、应用程序的main方法中有以下语句,则输出的结果是()。 Strings1=newString("abc");Strings2=newString("abc");booleanb1=(s2);booleanb2=(s1==s2);""+b2);A)truefalseB)falsetrueC)truetrueD)falsefalse5、应用程序的main方法中有以下语句,则输出的结果是()。 Hashtablehashtable=newHashtable();("x","12345");("y","67890");("a","abcde"); "a"));A)aB)abcdeC)12345D)678906、下面语句的功能是()。 RandomAccessFileraf2=newRandomAccessFile("","rw");A)打开当前目录下的文件,既可以向文件写数据,也可以从文件读数据。B)打开当前目录下的文件,但只能向文件写入数据,不能从文件读取数据。C)打开当前目录下的文件,但不能向文件写入数据,只能从文件读取数据。D)以上说法都不对。7、应用程序的main方法中有以下语句,则输出的结果是()。 Strings="12345#aaa#bbb#67890"; intn=("#"); intk=("#",n+1); intm=("#",k+1); Strings2=(m+1); A)123456B)67890C)aaaD)bbb8、下面程序段执行后b的值是()。 Integerinteg=newInteger(9); booleanb=integinstanceofObject;A)9B)trueC)1D)false9、应用程序的源程序如下,在命令行键入: javaTestaaabbc回车后输出的结果是()。publicclassTest{publicstaticvoidmain(Stringargs[]){intk1=;intk2=args[1].length();""+k2);}}A)32B)12C)13D)3310、应用程序的main方法中有以下语句,则输出的结果是()。 intb[][]={{1},{2,2},{2,2,2}};intsum=0;for(inti=0;i<;i++){for(intj=0;j<b[i].length;j++){sum*=b[i][j];}}"sum="+sum);A)32B)11C)2D)311、应用程序的main方法中有以下语句,则执行后输出的结果是()。int[]x={125,21,5,168,98};intmax=x[0];for(inti=1;i<;i++){ if(x[i]>max) max=x[i];}125B)5C)98D)16812、程序编译运行后输出的结果是()。publicclassTest{Strings1="java";publicstaticvoidmain(Stringargs[]){intz=2;Testt=newTest();}}A)java2B)2C)没有输出结果D)java13、应用程序的main方法中有以下语句,则输出的结果是()。 Strings1="",s2="12";doublex=(s1);inty=(s2); B)C)12D)“”14、下面的程序创建了一个文件输出流对象,用来向文件中输出数据,假设程序当前目录下不存在文件,编译下面的程序后,将该程序运行3次,则文件的内容是()。import.*;publicclassTest{ publicstaticvoidmain(Stringargs[]){ try{ Strings="ABCDE"; byteb[]=(); FileOutputStreamfile=newFileOutputStream("",true); (b); (); } catch(IOExceptione){ } }}A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE15、下面那些方法不是接口Collection中已声明的方法()A)添加元素的add(Objectobj)方法B)删除元素的remove(Objectobj)方法C)得到元素个数的length()方法D)返回迭代器的iterator()方法,迭代器用于元素遍历二、多选题1、下面main()方法的定义哪些是正确的()A)publicstaticvoidmain(Stringargs[]){}B)publicstaticvoidmain(String[]){}C)publicstaticvoidmain(String[]args){}D)publicstaticvoidmain(String[]x){}2、线程对象的生命周期中,通常经历下面哪些状态()。A)新建B)运行C)就绪D)死亡3、下面说法正确的是()。A)final可修饰类、属性(变量)、方法。 B)abstract可修饰类、方法。C)抽象方法只有方法头,没有方法体。 D)关键字final和abstract不能同时使用。4、下面关于java中输入/输出流的说法正确的是()。A)FileInputStream与FileOutputStream类用读、写字节流。B)Reader与Writer类用来读、写字符流。C)RandomAccessFile既可以用来读文件,也可以用来写文件。D)File类用来处理与文件相关的操作。5、下面说法正确的是()。A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。6、下面关于Java中异常处理try块的说法正确的是()A)try块后通常应有一个catch块,用来处理try块中抛出的异常。B)catch块后必须有finally块。C)可能抛出异常的方法调用应放在try块中。D)对抛出的异常的处理必须放在try块中7、下面关于进程、线程的说法正确的是()。A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C)Java多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。8、关于BufferedReader类的readLine()方法,以下说法正确的是()。A)方法readLine()每次读取一行数据。B)方法readLine()每次读取一个字节。C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。D)如果读到流的末尾,该方法返回的结果为null。三、程序阅读题1、阅读下面的程序,回答问题(问3分,问3分,共6分)。 import.*;import.*;publicclassTextendsJFrame{publicT(){super("GridLayout");Containercon=();(newGridLayout(2,3));(newJButton("a"));(newJButton("b"));(newJButton("c"));(newJButton("d"));(newJButton("e"));(newJButton("f"));setSize(200,80);setVisible(true);}publicstaticvoidmain(Stringargs[]){newT();} }画图表示程序运行后的图形界面。如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何接口中的方法头声明如何答案:接口名:ActionListener接口中的方法:publicvoidactionPerformed(ActionEvente)2、阅读下面的程序,回答问题(问3分,问3分,共6分)。。import.*;publicclassT{publicstaticvoidmain(Stringargs[]){Setset=newTreeSet();(newInteger(10));(newInteger(5));(newInteger(15));(newInteger(5));(newInteger(10));"size="+());Iteratorit=();while()){"");}}}程序运行后输出的结果如何说明java中的集合(Set接口)和映射(Map接口)的主要区别。答案:size=351015Set接口是不包含重复元素的集合;Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。3、阅读下面的程序,并回答问题(问3分,问3分,共6分)。import.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader);while(true){Stringstr=();if("quit"))break;intx=(str);}}}编译运行上面的程序:从键盘输入5,回车后输出的结果如何从键盘输入quit,回车后程序执行情况如何答案:25终止应用程序的运行。《JAVA程序设计》期末考试试题(五)单选题1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是()。A)IOExceptionB)RuntimeExceptionC)InterruptedException D)ClassNotFoundException2、下面的程序段的功能是()。Filefile1=newFile("d:\\xxx\\yyy\\zzz");();A)在当前目录下生成子目录:\xxx\yyy\zzzB)生成目录:e:\xxx\yyy\zzzC)在当前目录下生成文件D)以上说法都不对3、应用程序的main方法中有以下语句,则输出的结果是()。 Strings="xxxxxxxxxxxxxxx#123#456#zzzzz"; intn=("#"); intk=("#",n+1); Strings2=(n+1,k); A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz4、关于下面的程序说法正确的是()。publicclassTest{Stringx="1";inty;publicstaticvoidmain(Stringargs[]){intz=2;}}A)3B)102C)12D)程序有编译错误5、应用程序的main方法中有以下语句,则输出的结果是()。 intb[][]={{1,1,1},{2,2},{3}};intsum=0;for(inti=0;i<;i++){for(intj=0;j<b[i].length;j++){sum+=b[i][j];}}"sum="+sum);A)10B)6C)9D)136、应用程序的main方法中有以下语句,则执行后输出的结果是()。int[]x={125,21,5,168,98};intmin=x[0];for(inti=1;i<;i++){ if(x[i]<min) min=x[i];}125B)5C)98D)1687、应用程序的main方法中有以下语句,则输出的结果是()。Hashtablehashtable=newHashtable();("100","aaa");("200","bbb");("300","ccc");"300").toString() +("200").toString()+("100").toString());A)aaaB)bbbC)cccD)cccbbbaaa8、以下关于java异常说法不正确的是()。A)Throwable类是Java语言中Error类和Exception类的父类。B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。D)以上说法都不对。9、下面的程序创建了一个文件输出流对象,用来向文件中输出数据,假设程序当前目录下不存在文件,编译下面的程序后,将该程序运行3次,则文件的内容是()。import.*;publicclassTest{ publicstaticvoidmain(Stringargs[]){ try{ Strings="ABCDE"; byteb[]=(); FileOutputStreamfile=newFileOutputStream("",true); (b); (); } catch(IOExceptione){ } }}A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE10、下面说法不正确的是()A)列表(List)、集合(Set)和映射(Map)都是包中的接口。B)List接口是可以包含重复元素的有序集合。C)Set接口是不包含重复元素的集合。D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。二、多选题1、下面哪些关键字能用来控制对类成员的访问()A)publicB)protectedC)privateD)default2、下面关于Java中异常处理try块的说法正确的是()A)try块后通常应有一个catch块,用来处理try块中抛出的异常。B)catch块后必须有finally块。C)可能抛出异常的方法调用应放在try块中。D)对抛出的异常的处理必须放在try块中3、线程对象的生命周期中,通常经历下面哪些状态()。A)新建B)运行C)就绪D)死亡4、定义如下的二维数组b,下面的说法正确的是()。 intb[][]={{1,2,3},{4,5},{6,7,8}}};A)的值是3。 B)b[1].length的值是3。C)b[1][1]的值是5。 D)二维数组b的第一行有3个元素5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是()。A)Bx1=newB();B)Bx1=newC();C)Cx1=newC();D)Cx1=newB();6、下面关于进程、线程的说法正确的是()。A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C)Java多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是()。A)内部类可以直接访问外部类的成员B)外部类可以直接访问内部类的成员C)外部类不能访问内部类的成员D)外部类可通过创建内部类的实例来访问内部类的成员三、程序阅读题1、阅读下面的程序代码,并回答问题(问3分,问3分,共6分)。 Strings1=newString("abcde"); Strings2=newString("abcde"); booleanb1=(s2); booleanb2=s1==s2; ""+b2);程序段执行后,在命令行的输出结果如何解释输出(1)的结果的原因答案:truefalseequals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。 2、阅读下面的程序,并回答问题(问3分,问3分,共6分)。import.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader);while(true){Stringstr=();if("quit"))break;intx=(str);}}}编译运行上面的程序:从键盘输入10,回车后输出的结果如何从键盘输入exit,回车后程序能正确执行吗为什么答案:100不能;因为方法(str)不能将字符串“exit”转化为整数,抛出异常。3、写出下面的程序编译、运行后的结果(6分)。publicclassTest{publicstaticvoidmain(Stringargs[]){newStudent("Tom",'m',90,88);newStudent("Jack",'m',66,89);newStudent("Mary",'f',76,86);"name\tsex\tchinese\tenglish");();}}classStudent{protectedStringname;protectedcharsex;protectedintchinese;protectedintenglish;protectedStudentnext;staticStudentlist;Student(Stringname,charsex,intchinese,intenglish){=name;=sex;=chinese;=english;=list;list=this;}staticvoidprint(){Studentfriend=list;if(friend==null)"Thelistisempty.");else{do{friend=;}while(friend!=null);}}publicStringtoString(){returnnewString(name+"\t"+sex+"\t"+chinese+"\t"+english);}}答案:namesexchineseenglishMaryf7686Jackm6689Tomm9088《JAVA程序设计》期末考试试题(六)一、填空题1.定义类的保留字是(class),定义接口的保留字是(interface)。2.Socket通常也称为(套接字),用于描述(IP地址)和(端口)。3.线程的优先级在(1)至(10)之间,数值越大(任务越紧急)。4.构造方法是一种特殊的成员方法,构造方法名与(类名)相同。5.Java语言只允许单继承,指每个类只能有一个(父类)。6.Java源程序的扩展名是(.java),经过编译后的程序的扩展名是(.class)。7.在一个时间只能由一个线程访问的资源称为(临界资源)。访问临界资源的代码(临界代码)。8.在多线程系统中,多个线程之间有(同步)和(互斥)两种关系。二、选择题1.关于选择结构下列哪个说法正确()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句2.while循环和do…while循环的区别是:()A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次3.关于for循环和while循环的说法哪个正确()A.while循环先判断后执行,for循环先执行后判断。B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空4.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final5.void的含义:()A.方法没有返回值 B.方法体为空C.没有意义 D.定义方法时必须使用6.return语句:()A.只能让方法返回数值 B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象7.关于对象成员占用内存的说法哪个正确()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对8.下列说法哪个正确A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D、属性必须是简单变量9.下列说法哪个正确()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用10.关于方法main()的说法哪个正确()A.方法main()只能放在公共类中Bmain()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中11.构造函数何时被调用()A、创建对象时 B、类定义时C、使用对象的方法时 D、使用对象的属性时12.
抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法13.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性14.关于构造函数的说法哪个正确()A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数15.this和super:A、都可以用在main()方法中B、都是指一个内存地址C、不能用在main()方法中D、意义相同16.关于super的说法正确的是:A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在main()方法中17.覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载D.覆盖与重载是同一回事18.关于接口哪个正确()A、实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事19.异常包含下列哪些内容()A.程序执行过程中遇到的事先没有预料到的情况B.程序中的语法错误C.程序的编译错误D.以上都是20.
对于已经被定义过可能抛出异常的语句,在编程时:()A、必须使用try/catch语句处理异常,或用throws将其抛出B.如果程序错误,必须使用try/catch语句处理异常C.可以置之不理D.只能使用try/catch语句处理21.
字符流与字节流的区别在于()A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C.二者没有区别,可以互换使用D.每次读写的字节数不同22.下列流中哪个不属于字节流()A.FileInputStreamB.BufferedInputStreamC.FilterInputStream D.InputStreamReader三、程序填空题classSum{ publicstaticvoidmain(String[]args){ intj=10; "jis:"+j); calculate(j); "Atlast,jis:"+j); }staticvoidcalculate(intj){ for(inti=0;i<10;i++) j++; "jincalculate()is:"+j); }}输出结果为:jis:
(1)jincalculate()is:(2)Atlastjis:
(3)答案:(1)10;(2)20;(3)10。2.按要求填空abstractclassSuperAbstract{ voida()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45097.3-2024智能消费品安全第3部分:风险控制
- YC/T 398-2024烟草商业企业物流现场管理规范
- 2025版工业4.0项目厂房收购合同样本3篇
- 航空航天碳资产管理办法
- 矿山工程招投标法规实务讲解
- 桥梁质量检测协议
- 2024年度地板企业竞业禁止协议范本3篇
- 企业重组顾问聘用协议模板
- 私募基金资金流动规则
- 畜牧养殖保证人担保承诺书
- 湖南省益阳市2023-2024学年高二上学期1月期末物理试题 含答案
- 铜工岗位安全操作规程(2篇)
- 擦玻璃安全责任合同协议书范本
- 2024-2025学年人教PEP版英语五年级上册期末试题
- 2019水电工程探地雷达探测技术规程
- 灾难事故避险自救-终结性考核-国开(SC)-参考资料
- 室内墙地砖铺贴施工技术交底
- JP柜技术规范可编辑范本
- 有关中医康复治疗课件
- 江苏省苏州市(2024年-2025年小学五年级语文)统编版期末考试((上下)学期)试卷及答案
- 期末复习试题(试题)-2024-2025学年四年级上册数学人教版
评论
0/150
提交评论