• 282.50 KB
  • 2022-04-22 11:52:04 发布

《JAVA程序设计》期末考试试题汇总及答案.doc

  • 46页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《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的逻辑值分别为true和false。5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;i)。6、在Java中定义一个字符串类型的变量str的语句是:(Stringstr;),定义一个具有10个元素的整型数组a的语句是:(int[]arr=newint[10];)。7、导入mypackage包中的所类的命令是(importmypackage.*;)。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)System.out.println("三角形");elseSystem.out.println("不是三角形");12、下面程序段的执行结果是(65432)inta[]={2,3,4,5,6};for(inti=a.length-1;i>=0;i--)System.out.print(a[i]+"");三、程序阅读题1、以下程序的输出结果为_Peteris17yearsold!___。 publicclassPerson{Stringname;intage;publicPerson(Stringname,intage){this.name=name;this.age=age;}publicstaticvoidmain(String[]args){Personc=newPerson("Peter",17);System.out.println(c.name+"is"+c.age+"yearsold!");}}2、以下程序的输出结果为__课程号:101课程名:ASP学分:3___。publicclassCourse{privateStringcNumber;privateStringcName;privateintcUnit;publicCourse(Stringnumber,Stringname,intunit){cNumber=number;cName=name;cUnit=unit;}publicvoidprintCourseInfo(){System.out.println("课程号:"+cNumber+"课程名:"+cName+"学分:"+cUnit);}}classCourseTest{publicstaticvoidmain(String[]args){Coursec;c=newCourse("101","ASP",3);c.printCourseInfo();}}3、以下程序的输出结果为__汤姆猫体重:20.0斤___。publicclassTom{ privatefloatweight;privatestaticStringname;publicvoidsetWeight(floatweight){this.weight=weight;}privatevoidout(){System.out.println(name+"体重:"+weight+"斤");}publicstaticvoidmain(String[]args){Tom.name="汤姆猫";Tomcat=newTom();cat.setWeight(20);cat.out();}}4、以下程序的输出结果_姓名:Tom年龄:15家庭住址:金水区电话:66123456学校:九中_。publicclassFather{Stringname,address,tel;intage;publicFather(Stringname,intage){this.name=name;this.age=age;}voidout(){System.out.print("姓名:"+name);System.out.print("年龄:"+age);}voidoutOther(){System.out.print("家庭住址:"+address);System.out.print("电话:"+tel);}}classSonextendsFather{Stringschool; publicSon(Stringname,intage){super(name,age);}voidout(){super.out();super.outOther();System.out.println("学校:"+school);}publicstaticvoidmain(Stringargs[]){Sonson=newSon("Tom",15);son.address="金水区";son.school="九中";son.tel="66123456";son.out();}}5、下列程序的运行结果是__12345____。publicclassMyClass{inta[]={1,2,3,4,5};voidout(){for(intj=0;jmax) max=x[i];}System.out.println(max);A)125B)5C)98D)16812、程序Test.java编译运行后输出的结果是()。publicclassTest{Strings1="java";publicstaticvoidmain(Stringargs[]){intz=2;Testt=newTest();System.out.println(t.s1+z);}}A)java2B)2C)没有输出结果D)java13、应用程序的main方法中有以下语句,则输出的结果是()。Strings1="0.5",s2="12";doublex=Double.parseDouble(s1);inty=Integer.parseInt(s2);System.out.println(x+y);A)12.5B)120.5C)12D)“12.5”14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是()。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[]){try{Strings="ABCDE";byteb[]=s.getBytes();FileOutputStreamfile=newFileOutputStream("test.txt",true);file.write(b);file.close();}catch(IOExceptione){ System.out.println(e.toString());}}}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、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。importjava.awt.*;importjavax.swing.*;publicclassTextendsJFrame{publicT(){super("GridLayout");Containercon=this.getContentPane();con.setLayout(newGridLayout(2,3)); con.add(newJButton("a"));con.add(newJButton("b"));con.add(newJButton("c"));con.add(newJButton("d"));con.add(newJButton("e"));con.add(newJButton("f"));setSize(200,80);setVisible(true);}publicstaticvoidmain(Stringargs[]){newT();}}u画图表示程序运行后的图形界面。v如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?答案:uv接口名:ActionListener接口中的方法:publicvoidactionPerformed(ActionEvente)2、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。。importjava.util.*;publicclassT{publicstaticvoidmain(Stringargs[]){Setset=newTreeSet();set.add(newInteger(10));set.add(newInteger(5));set.add(newInteger(15));set.add(newInteger(5));set.add(newInteger(10));System.out.println("size="+set.size());Iteratorit=set.iterator(); while(it.hasNext()){System.out.print(it.next()+"");}}}u程序运行后输出的结果如何?v说明java中的集合(Set接口)和映射(Map接口)的主要区别。答案:usize=351015vSet接口是不包含重复元素的集合;Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。3、阅读下面的程序,并回答问题(u问3分,v问3分,共6分)。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));while(true){Stringstr=buf.readLine();if(str.equals("quit"))break;intx=Integer.parseInt(str);System.out.println(x*x);}}}编译运行上面的程序:u从键盘输入5,回车后输出的结果如何?v从键盘输入quit,回车后程序执行情况如何?答案:u25v终止应用程序的运行。 《JAVA程序设计》期末考试试题(五)一、单选题1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是()。A)IOExceptionB)RuntimeExceptionC)InterruptedExceptionD)ClassNotFoundException2、下面的程序段的功能是()。Filefile1=newFile("d:\xxx\yyy\zzz");file1.mkdirs();A)在当前目录下生成子目录:xxxyyyzzzB)生成目录:e:xxxyyyzzzC)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对3、应用程序的main方法中有以下语句,则输出的结果是()。Strings="xxxxxxxxxxxxxxx#123#456#zzzzz";intn=s.indexOf("#");intk=s.indexOf("#",n+1);Strings2=s.substring(n+1,k);System.out.println(s2);A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz4、关于下面的程序Test.java说法正确的是()。publicclassTest{Stringx="1";inty;publicstaticvoidmain(Stringargs[]){intz=2;System.out.println(x+y+z);}}A)3B)102C)12D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是()。intb[][]={{1,1,1},{2,2},{3}};intsum=0;for(inti=0;i=0)if(x>0)y=1;elsey=0;elsey=-1;System.out.println(y);}}答案:13、读程序,写出正确的运行结果。publicclassFather{inta=100;publicvoidminer(){a--;}publicstaticvoidmain(String[]args){Fatherx=newFather();Sony=newSon();System.out.println(y.a);System.out.println(y.getA());y.miner();System.out.println(y.a);System.out.println(y.getA());}} classSonextendsFather{inta=0;publicvoidplus(){a++;}publicintgetA(){returnsuper.a;}}答案:0100099三.简答题1. Java语言的特点。答:简单性:Java风格类似于C++,但它摒弃了C++中容易引起程序错误的地方面向对象:Java语言的设计是完全面向对象分布式:解释执行:健壮性:Java提供自动垃圾回收机制,异常处理机制,进行严格的类型检查平台无关性:安全性多线程动态性2. 请描述AWT事件模型。答:结合AWT事件模型并举例来说:importjava.awt.event.*;1.监听对象必须实现对应事件监听器的接口classMyFirstFrameextendsFrameimplementsActionListener {...}2.明确事件监听器的接口形式publicvoidactionPerformed(ActionEventevent){…}3.MyFirstFrame类必须实现接口ActionListener中的所有方法。4.注册监听对象.为了把MyFirstFrame对象注册为两个按钮的事件监听对象,必须在MyFirstFrame的构造函数中添加语句如下:cancelButton.addActionListener(this);okButton.addActionListener(this);3. 在Java中,怎样创建一个线程?答:1、定义类来实现Runnable接口classTestThreadimplementsRunnable{publicvoidrun(){…}}2、继承Thread类来实现classTestThreadextendsThread{TestThread(Stringname){super(name);start();}publicvoidrun(){…}}'