《《JAVA程序设计》期末考试试题汇总及答案.pdf》由会员分享,可在线阅读,更多相关《《JAVA程序设计》期末考试试题汇总及答案.pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAJAV VA A 程序设计期末考试试题程序设计期末考试试题(一(一)一、单选择题1 1、编译 JavaApplication 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。A.javaB。.classC。htmlD。.exe2 2、设 x=1,y=2,z=3,则表达式yz/x的值是()。A.3B.3。5C.4D。53 3、不允许作为类及类成员的访问控制符的是()。A.publicB.privateC.staticD.protected4 4、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为()
2、。A.static void method()B.public void method()C.final void method()D。abstract void method()二、填空题1 1、开发与运行 Java 程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2 2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间.3 3、设 x=2,则表达式(x+)3 的值是0.4 4、若 x=5,y=10,则 x y 和 x=y 的逻辑值分别为tr
3、ue和false。5 5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法.6 6、创建一个名为 MyPackage 的包的语句是 packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句.7 7、设有数组定义:intMyIntArray=10,20,30,40,50,60,70;则执行以下几个语句后的输出结果是120.int s=0;for(int i=0;i MyIntArray。length;i+)if(i 2=1)s+=MyIntArrayi;Sys
4、tem.out。println(s);8 8、在 Java 程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。三、写出下面程序的运行结果1 1、import java。io.;public class abcpublic static void main(String args )AB s=new AB(Hello!,I love JAVA.);System.out.println(s.toString();class AB String s1;String s2;public AB(String str1,String str2)s1=str1;s2=str2;pu
5、blic String toString()return s1+s2;运行结果:Hello!I love JAVA。2 2、import java。io.;public class abcpublic static void main(String args )int i,s=0;int a =10,20,30,40,50,for(i=0;i a.length;i+)if(ai%3=0)s+=aiSystem.out.println(”s=”+s);运行结果:s=1803 3、import java。io。;public class abcpublic static void main(Str
6、ing args)System。out。println(a=+a+nb=”+b);class SubClass extends SuperClassint c;SubClass(int aa,int bb,int cc)super(aa,bb);c=cc;class SubSubClass extends SubClassint a;SubSubClass(int aa,int bb,int cc)60,70,;80,90 ;super(aa,bb,cc);A=aa+bb+cc;void show()System。out.println(a=+a+nb=”+b+nc=”+c);运行结果:a=6
7、0b=20c=30JAJAV VA A 程序设计期末考试试题程序设计期末考试试题(二)(二)一判断题一判断题1Java 的源代码中定义几个类,编译结果就生成几个以.class 为后缀的字节码文件。()2Java 程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。()3Java 有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。()4构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为 void。()5在异常处理中,若 try 中的代码可能产生多种异常则可以对应多个 catch 语句,若 catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类
8、放在前面.()6拥有 abstract 方法的类是抽象类,但抽象类中可以没有abstract 方法。()7Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。()8静态初始化器是在其所属的类加载内存时由系统自动调用执行。()9在 Java 中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。()二单项选择题二单项选择题1Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形参?()A、StringargsargsB B、Stringar C、CharargD、StringBuffer2以下关于继
9、承的叙述正确的是()。A A、在 Java 中类只允许单一继承B、在 Java 中一个类只能实现一个接口C、在 Java 中一个类不能同时继承一个类和实现一个接口D、在 Java 中接口只允许单一继承3paint()方法使用哪种类型的参数?()A A、GraphicsB、Graphics2DC、StringD、Color4以下哪个不是 Java 的原始数据类型()A、intB B、BooleanC、float).C、AppletD、DialogD、char5以下哪项可能包含菜单条(A、PanelB B、Frame6若需要定义一个类域或类方法,应使用哪种修饰符?()A A、staticB、pac
10、kageC、privateD、public7在浏览器中执行 applet 程序,以下选项中的哪个方法将被最先执行().A A、init()B、start()C、destroy()D、stop()8给出下面代码,关于该程序以下哪个说法是正确的?()public class Personstatic int arr=new int5;public static void main(String a)System.out.println(arr0);A、编译时将产生错误时将产生错误C C、输出零D、输出空B、编译时正确,运行9下列哪些语句关于 Java 内存回收的说明是正确的?()A、程序员必须创建
11、一个线程来释放内存B B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象10以下哪个关键字可以用来对对象加互斥锁?()A、transientstaticB B、synchronizedC、serializeD、11以下代码段执行后的输出结果为()intx=3;inty=10;System.out。println(y%x);-1B、2C、1D、3A A、12有以下程序片段,下列哪个选项不能插入到行 1。()1。2.publicclassInteresting3。/do sth4.A、import java.awt。;C、class
12、OtherClass13。设有下面两个赋值语句:a=Integer。parseInt(“12);b=Integer。valueOf(“12”)。intValue();下述说法正确的是()。A、a 是整数类型变量,b 是整数类对象.B、a 是整数类对象,b 是整数类型变量.C、a 和 b 都是整数类对象并且值相等。D D、a 和 b 都是整数类型变量并且值相等.14 FilterOutputStream 是 BufferedOutputStream、DataOutputStream 及 PrintStream的父类,以下哪个类可能是 FilterOutputStream 构造函数的参数类型?A
13、A、OutputStreamC、InputStreamB、FileB、package mypackage;D D、public class MyClass D、BufferedOutputStream15在编写 JavaApplet 程序时,需在程序的开头写上()语句。A、importjava.awt.*;B B、importjava.applet。Applet;C、importjava。io。*;D、importjava。awt。Graphics;16类 Parent、Child 定义如下:1public classParent2 publicfloataFun(float a,float
14、b)throws3IOException 4 5publicclassChildextendsParent67将以下哪种方法插入行 6 是不合法的。()A A、floataFun(floata,floatb)B、publicintaFun(int a,int b)throwsException C、publicfloataFun(floatp,float q)D、publicintaFun(int a,intb)throws IOException 17 在使用 interface 声明一个接口时,只可以使用()修饰符修饰该接口。A、privateB、protectedC、privatepro
15、tectedD D、public18、有以下方法的定义,请选择该方法的返回类型()。ReturnTypemethod(byte x,double y)B、shortC、intD D、doublereturn(short)x/y2;A、byte19、关于以下代码段的说法正确的是()1Strings=abcde”;2StringBuffers1=newStringBuffer(abcde”);3if(s。equals(s1)4s1=null;5if(s1.equals(s)6s=null;A、第 1 行编译错误,String 的构造器必须明确调用B、第 3 行编译错误,因为 s 与 s1 有不同的
16、类型C、编译成功,但执行时在第 5 行有异常抛出D D、编译成功,过程中也没有异常抛出20、编译并运行以下程序,以下描述哪个选项是正确的()1.classX2.protectiedStringtoString()i3.4.returnsuper。toString();B、编译通过但运行时出错D、不能成功编译,行 3 出错A、编译通过运行无异常C C、行 2 出错,不能成功编译三程序阅读题三程序阅读题1 1以下程序的输出结果为相等相等。class StringTest12 2以下程序段的输出结果为5 56 67 78 89 9。public class TestArraypublic stati
17、c void main(Stringargs )inti,j;inta =5,9,6,8,7;intk=i;for(j=i;j a.length;j+)if(ajak)k=j;inttemp=ai;ai=ak;ak=temp;public static void main(String args)String s1=hello”;String s2=new String(”hello”);if(s1.equals(s2)System。out。println(相等);System。out。println(”不相等”);else for(i=0;i a.length-1;i+)for(i=0;i)
18、.6、在 Java 中定义一个字符串类型的变量 str 的语句是:(String str;String str;),定义一个具有 10 个元素的整型数组 a 的语句是:(int int arr=new int10arr=new int10;)。7、导入 mypackage 包中的所类的命令是(import mypackageimport mypackage。*;*;)。8、当声明一个数组 int arr=new int 5;时,这代表这个数组所保存的变量类型是(intint),数组名是(arrarr),数组的大小为(5 5),数组元素下标的使用范围是(0 0 到到 4)4).9、假设 x=13
19、,y=4,则表达式 xy!=0 的值是(truetrue),其数据类型是(booleanboolean)。10、异常处理是由(trytry)、(catchcatch)和 finally 块三个关键所组成的程序块。11、以下程序段的输出结果是(三角形三角形)intint x=5,y=6,z=4;ifif(x+y z&x+z y&z+y x)System。out.println(三角形);elseelseSystem。out。println(”不是三角形);12、下面程序段的执行结果是(6 5 4 3 26 5 4 3 2)intint a=2,3,4,5,6;forfor(intint i=a.
20、length 1;i=0;i-)System.out.print(ai+”);三、程序阅读题三、程序阅读题1 1、以下程序的输出结果为_ Peter is 17 years old!Peter is 17 years old!_.publicpublic classclass Person String name;intint age;publicpublic Person(String name,intint age)publicpublic staticstatic voidvoid main(String args)Person c=newnew Person(”Peter,17);Sy
21、stem.out。println(c.name+”is +c。age+years old!);thisthis。name=name;thisthis。age=age;2 2、以下程序的输出结果为_课程号课程号:101:101 课程名课程名:ASP:ASP 学分:学分:3 3_。publicpublic classclass Course privateprivate String cNumber;privateprivate String cName;privateprivate intint cUnit;publicpublic Course(String number,String nam
22、e,intint unit)publicpublic voidvoid printCourseInfo()System。out。println(”课程号:”+cNumber+”课程名:+cName+”cNumber=number;cName=name;cUnit=unit;学分:”+cUnit);classclass CourseTest publicpublic staticstatic voidvoid main(String args)Course c;c=newnew Course(101,ASP,3);c.printCourseInfo();3 3、以下程序的输出结果为_汤姆猫体重:
23、汤姆猫体重:20.020.0 斤斤_。publicpublic classclass Tom privateprivate floatfloat weight;privateprivate staticstatic String name;publicpublic voidvoid setWeight(floatfloat weight)privateprivate voidvoid out()System。out。println(name+体重:”+weight+斤”);publicpublic staticstatic voidvoid main(String args)Tom.name=
24、”汤姆猫;Tom cat=newnew Tom();cat。setWeight(20);cat.out();thisthis。weight=weight;4 4、以下程序的输出结果_姓名:姓名:TomTom 年龄年龄:15:15 家庭住址:家庭住址:金水区金水区 电话:电话:6612345666123456学校:九中学校:九中_。publicpublic classclass Father classclass Son extendsextends Father String school;voidvoid out()voidvoid outOther()System。out。print(家庭
25、住址:+address);System。out.print(”电话:”+tel);System。out。print(”姓名:”+name);System.out.print(年龄:”+age);String name,address,tel;intint age;publicpublic Father(String name,intint age)thisthis。name=name;thisthis。age=age;publicpublic Son(String name,intint age)voidvoid out()publicpublic staticstatic voidvoid
26、main(String args)Son son=newnew Son(Tom,15);son.address=”金水区;son.school=九中”;son.tel=66123456”;supersuper.out();supersuper.outOther();System.out。println(”学校:+school);supersuper(name,age);son.out();5 5、下列程序的运行结果是_1234512345_。publicpublic classclass MyClass intint a=1,2,3,4,5;voidvoid out()publicpublic
27、 staticstatic voidvoid main(String args)MyClass my=newnew MyClass();my。out();forfor(intint j=0;j a。length;j+)System。out。print(aj+”);四、简答题四、简答题1 1、简述 Java 中异常处理的机制?答:答:首先 Java 的异常是面向对象的。一个 Java 的 Exception 是一个描述异常情况的对象。当出现异常情况时,一个 Exception 对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,thr
28、ows和finally。1。异常处理:在 Java 语言的错误处理结构由 try,catch,finally 三个块组成。其中 try 块存放将可能发生异常的 Java 语言,并管理相关的异常指针;catch 块紧跟在 try 块后面,用来激发被捕获的异常;finally 块包含清除程序没有释放的资源,句柄等.不管 try 块中的代码如何退出,都将执行 finally 块。2.抛出异常:Java 语言可以不在方法中直接捕获,而用 throw 语句将异常抛给上层的调用者。Throw 语句就是来明确地抛出一个异常;首先你必需得到一个Throwable 的实例句柄,通过参数传到 catch 中,或者
29、采用 new 操作符来创建一个.2 2、什么是继承?答:答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。3 3、请简述重载和重写的区别?答:答:方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading是一个类中多态性的一种表现.如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用
30、子类中的定义,对它而言,父类中的定义如同被“屏蔽”了.如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading).Overloaded 的方法是可以改变返回值的类型。五、程序设计题五、程序设计题1 1、按以下要求编写程序(1)创建一个 Rectangle 类,添加 width 和 height 两个成员变量(2)在 Rectangle 中添加两种方法分别计算矩形的周长和面积(3)编程利用 Rectangle 输出一个矩形的周长和面积解答:解答:publicpublic classclass Rectangle floatfloat
31、width,height;publicpublic Rectangle(floatfloat width,floatfloat height)publicpublic floatfloat getLength()thisthis.width=width;thisthis。height=height;returnreturn(thisthis。width+thisthis.height)2;publicpublic floatfloat getArea()returnreturn thisthis.width thisthis。height;publicpublic staticstatic v
32、oidvoid main(String args)Rectangle rect=newnew Rectangle(10,20);System。out。println(”周长是:+rect.getLength();System.out。println(面积是:+rect。getArea());2 2、按以下要求编写程序(1)编写 Animal 接口,接口中声明 run()方法(2)定义 Bird 类和 Fish 类实现 Animal 接口(3)编写 Bird 类和 Fish 类的测试程序,并调用其中的 run()方法解答解答:publicpublic interfaceinterface Ani
33、mal classclass Bird implementsimplements Animal classclass Fish implementsimplements Animal publicpublic voidvoid run()System。out。println(鱼儿在游。.”);publicpublic voidvoid run()System.out。println(鸟儿在飞。.。”);voidvoid run();publicpublic classclass TestAnimal publicpublic staticstatic voidvoid main(String
34、args)Bird bird=newnew Bird();bird.run();Fish fish=newnew Fish();fish.run();3 3、编写一个 Frame 框架应用程序,要求如下:(1)在窗口设置两个菜单“文件”、“编辑”(2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”(3)在“编辑菜单里添加两个菜单项“复制”、“粘贴”(4)点击关闭菜单项时,使程序关闭.解答解答:importimport java.awt.Color;importimport java。awt。Frame;importimport java.awt.Menu;importimport
35、java。awt.MenuBar;importimport java。awt.MenuItem;importimport java.awt.event。ActionEvent;importimport java.awt.event.ActionListener;importimport java。awt。event。WindowAdapter;importimport java.awt。event.WindowEvent;/*主窗体/publicpublic classclass MyFrame extendsextends Frame privateprivate staticstatic
36、finalfinal longlong serialVersionUID=6895463895656626294L;privateprivate Frame frmMain;/窗体MenuBar mb;/菜单栏/”文件菜单/”编辑菜单/”保存菜单项Menu mnuFile;Menu mnuEdit;MenuItem miOpen;MenuItem miSave;/”打开”菜单项MenuItem miClose;/”关闭”菜单项MenuItem miCopy;/”复制”菜单项MenuItem miPaste;/”粘贴菜单项publicpublic MyFrame()frmMain=newnew
37、Frame(”主窗体);/创建菜单栏mb=newnew MenuBar();/创建菜单mnuFile=newnew Menu(文件”);mnuEdit=newnew Menu(编辑);/创建菜单项miOpen=newnew MenuItem(”打开”);miSave=newnew MenuItem(”保存);miClose=newnew MenuItem(”关闭);miCopy=newnew MenuItem(”复制”);miPaste=newnew MenuItem(”粘贴);publicpublic voidvoid showFrame()frmMain。setSize(800,600);
38、frmMain。setLocation(100,100);frmMain。setBackground(Color。white);frmMain。setVisible(truetrue);frmMain。setLayout(nullnull);frmMain.addWindowListener(newnew WindowHandler());/注册窗口监听/将菜单栏放入窗体中frmMain.setMenuBar(mb);/将菜单放入菜单栏中mb.add(mnuFile);mb。add(mnuEdit);/将菜单项放入菜单中mnuFile.add(miOpen);mnuFile。add(miSav
39、e);mnuFile.add(miClose);mnuEdit。add(miCopy);mnuEdit.add(miPaste);/注册动作事件监听器miClose。setActionCommand(”miClose_Clicked);miClose.addActionListener(newnew MenuHandler());器/定义一个内部类,在这个类中编写窗口关闭事件处理程序。privateprivate classclass WindowHandler extendsextends WindowAdapter publicpublic voidvoid windowClosing(W
40、indowEvent e)System.exit(0);/退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。/定义一个内部类,在这个类中编写动作事件处理程序。privateprivate classclass MenuHandler implementsimplements ActionListener publicpublic voidvoid actionPerformed(ActionEvent e)ifif(e。getActionCommand()=miClose_Clicked)System。exit(0);/退出应用程序publicpublic classclass T
41、estMyFrame publicpublic staticstatic voidvoid main(String args)/启动主窗体MyFrame guiWindow=newnew MyFrame();guiWindow。showFrame();JAJAV VA A 程序设计期末考试试题程序设计期末考试试题(四)四)一、一、单单选题选题1 1、下列程序段执行后的结果是()。String s=new String(abcdefg);for(int i=0;is.length();i+=2)System。out.print(s.charAt(i));A)A)acegB)ACEGC)abcde
42、fgD)abcd2 2、有整型数组:intx=12,35,8,7,2;,则调用方法 Arrays.sort(x)后,数组 x 中的元素值依次是()。A A)2781235C)3512872B)1235872D)87123523 3、下面的程序段创建了 BufferedReader 类的对象 in,以便读取本机 c 盘 my 文件夹下的文件 1。txt。File 构造函数中正确的路径和文件名的表示是()。File f=new File(填代码处);file=new FileReader(f);in=new BufferedReader(file);A)”./1.txt”B)”。./my/1.tx
43、tC C)”c:my1。txt”D)c:my1.txt”4 4、应用程序的 main 方法中有以下语句,则输出的结果是().Strings1=new String(abc”);Strings2=new String(”abc”);boolean b1=s1。equals(s2);boolean b2=(s1=s2);System.out.print(b1+”+b2);5 5、应用程序的 main 方法中有以下语句,则输出的结果是()。Hashtable hashtable=new Hashtable();hashtable.put(”x”,”12345);hashtable。put(y,”67
44、890);hashtable.put(”a,abcde);System。out。println(hashtable.get(a”));A)A)truefalseB)falsetrueC)truetrueD)falsefalseA)aB B)abcdeC)12345D)678906 6、下面语句的功能是()。RandomAccessFileraf2=new RandomAccessFile(1。txt”,rw”);A A)打开当前目录下的文件 1。txt,既可以向文件写数据,也可以从文件读数据。B)打开当前目录下的文件 1。txt,但只能向文件写入数据,不能从文件读取数据。C)打开当前目录下的文
45、件 1。txt,但不能向文件写入数据,只能从文件读取数据。D)以上说法都不对。7 7、应用程序的 main 方法中有以下语句,则输出的结果是()。Strings=12345#aaabbb67890”;intn=s。indexOf(#”);intk=s.indexOf(”,n+1);intm=s。indexOf(#,k+1);Strings2=s。substring(m+1);System。out。println(s2);A)123456B B)67890C)aaaD)bbb8 8、下面程序段执行后 b 的值是()。Integer integ=new Integer(9);boolean b=i
46、nteginstanceofObject;A)9B)B)trueC)1D)false9 9、应用程序 Test.java的源程序如下,在命令行键入:java Testaaabbc回车后输出的结果是().public class Test public static void main(String args)intk1=args.length;intk2=args1。length();System.out.print(k1+”+k2);A)A)32B)12C)13D)331010、应用程序的 main 方法中有以下语句,则输出的结果是()。intb=1,2,2,2,2,2;int sum=0;
47、for(int i=0;ib.length;i+)for(int j=0;jbi.length;j+)sum=bi j;System.out.println(”sum=”+sum);A)A)32B)11C)2D)31111、应用程序的 main 方法中有以下语句,则执行后输出的结果是(intx=125,21,5,168,98;intmax=x0;for(int i=1;ix。length;i+)。)if(xi max)max=xi;System.out.println(max);1212、程序 Test.java编译运行后输出的结果是()。public class Test String s1
48、=”java;public static void main(String args)int z=2;Test t=new Test();System.out.println(t。s1+z);1313、应用程序的 main 方法中有以下语句,则输出的结果是()。String s1=”0.5,s2=”12”;double x=Double.parseDouble(s1);inty=Integer。parseInt(s2);System。out。println(x+y);A)125B)5C)98D)D)168A A)java2B)2C)没有输出结果D)javaA)A)12。5B)120.5C)12
49、D)“12.5”1414、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据,假设程序当前目录下不存在文件 test。txt,编译下面的程序Test.java后,将该程序运行 3 次,则文件 test。txt 的内容是()。import java.io.;public class Test public static void main(String args)try String s=ABCDE;byte b=s.getBytes();FileOutputStream file=new FileOutputStream(”test.txt,true);file。wr
50、ite(b);file。close();catch(IOException e)System.out。println(e。toString());A)ABCABCB)ABCDEC)TestD D)ABCDE ABCDE ABCDE1515、下面那些方法不是接口 Collection 中已声明的方法()?A)添加元素的 add(Objectobj)方法B)删除元素的 remove(Object obj)方法C C)得到元素个数的 length()方法D)返回迭代器的 iterator()方法,迭代器用于元素遍历二、多选题二、多选题1 1、下面 main()方法的定义哪些是正确的()?A A)pu