JAVA语言程序设计期末考试题及答案.pdf
JAVA语言程序设计期末考试试题及答案1(应考必备题库)一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为().A.javaC.htmlB.classD.exe2、设*=1,丫 =2:=3,则表达式 y+=z-/+x 的值是().A.3C.4B.3.5D.53、不允许作为类及类成员的访问控制符的是()0A.publicC.staticB.privateD.protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()o5给定java代码如下,编译运行后,输出结果是()(选择一项1A.static void method()C.final void method()B.public void method()D.abstract void method()public class test static int i;public int aMethod()i+;return i;)public static void main(String args)Test test=new TestQ;test.aMethod();System.out.println(test.aMethodQ);)a)0 b)1 c)2 d)3二、填空题1、开发与运行Java程序需要经过的三个主要步骤为 编辑源程序、编译生成字节码 和 解释运行字节码。2、在Java的基本数据类型中,char型采用Unicode编码方案,每 个Unicode码占用 2 字节内存空间,这 样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。3、设x=2,则 表 达 式(x+)/3的值是 0 4、若x=5,y =1 0,则x =y的逻辑值分别为 true 和 false.5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终如皿方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是package MyPackage;,该语句应该放在程序的位置为:应该在程序第一句.7、设有数组定义:int MyIntArray =10,20,30,40,50,60,7 0);则执行以下几个语句后的输出结果是 120。int s=0;for(int i=0;i MylntArray.length;i+)if(i%2=1)s+=MylntArrayfi;System.out.println(s);8、在Java程序中通过类的定义只能实现 里 重继承但通过接口的定义可以实现多重继承关系。三、写出下面程序的运行结果1、import java.io.*;public class abc(public static void main(String args)(AB s=new AB(Hello!,I love JAV A.);System.out.println(s.toString();)class AB String si;String s2;public AB(String strl,String str2)(si=strl;s2=str2;)public String toString()(return sl+s2;)运行结果:Hello!I love JAV A.2、import java.io.*;public class abc(public static void main(String args)int iz s=0;int a=10,20,30,40,50,60,70,80,90;for(i=0;i a.length;i+)if(ai%3=0)s+=ai;System.out.println(s=+s);)运行结果:s=1203、class Parent String one,two;public Parent(String a,String b)one=a;two=b;)public void print()System.out.println(one);)public class Child extends Parent public Child(String a,String b)super(axb);)public void print()System.out.println(one+to +two);)public static void main(String args)Parent p=new Parent(nsouth/north);Parent t=new ChildCeast,west);p.print();t.print();)运行结果southeast to westJAVA语言程序设计期末考试试题及答案2(应考必备题库)-.判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(V )2 Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(x)3.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(x)4.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语 句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(V )5.拥 有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(V )6.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(V )7.在Java中对象可以赋值,只要使用赋值号(等 号)即 可,相当于生成了一个各属性与赋值对象相同的新对象。(x)二.单项选择题1 Java application中的主类需包含main方 法,以下哪项是main方法的正确形参?()A、String args B、String args C、Char arg D、StringBufferargs2 .以下关于继承的叙述正确的是(1A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3.paint。方法使用哪种类型的参数?()A、GraphicsB、Graphics2DC、StringD、Color4.以下哪个不是Java的原始数据类型()Ax intB.BooleanC、floatD、char5.若需要定义一个类域或类方法,应使用哪种修饰符?()A.staticB、packageC、privateD、public6.在浏览器中执行applet程 序,以下选项中的哪个方法将被最先执行(A、init()B、start()C、destroy()D、stopO7.有以下程序片段,下列哪个选项不能插入到行1。()1.2.public class Interesting(3./do sth4.A、import java.awt.*;B、package mypackage;C、class OtherClass D、public class MyClass8.设有下面两个赋值语句:a=Integer.parselnt();b=Integer.valueOf(u12v).intV alue();下述说法正确的是(XA、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a和b都是整数类对象并且值相等。D、a和b都是整数类型变量并且值相等。9.FilterOutputStream 是 BufferedOutputStreamx DataOutputStream 及 Printstream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?A、Outputstream B、FileC、InputstreamD、BufferedOutputStream10.在编写Java Applet程序时,需在程序的开头写上()语句。A、import java.awt.*;B、import java.applet.Applet;C、import java.io.*;D、import java.awt.Graphics;11.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。A、private B、protected C、private protected D、public三.程序阅读题1.以下程序的输出结果为 相等 Oclass StringTestl(public static void main(String args)String sl=hello”;String s2=new String(hello);if(sl.equals(s2)System.outprintln(相 等 elseSystem,out.println(”不相等)2.以下程序段的输出结果为 5 6 7 8 9。public class TestArraypublic static void main(String args)int i,j;int a=5,9r6,8,7);for(i=0;i a.length-1;i+)int k=i;for(j=i;j a.length;j+)if(ajak)k=j;int temp=ai;ai=ak;ak=temp;)for(i=0;ia.length;i+)System.out.print(a i+);System.out.println();)3,写出以下程序的功能。import java.io.*;public class TestFile(public static void main(String args)throws ExceptionBuffered Reader br=new Buffered Reader(new InputStreamReader(System.in);BufferedWriter bw=new BufferedWriter(new FileWriterC1nput.txt);String s;while(true)(System.out.print(请输入一个字符串:”);System.out.flush();s=br.readLine();if(s.length()=0)break;bw.write(s);bw.newLine();)bw.closeO;)功 能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。4.阅读以下程序,写出输出结果。class Animal Animal()System.out.print(Animal);)public class Dog extends Animal Dog()System.out.print(Dog);public static void main(String args)Dog snoppy=new Dog();)输出结果:Animal DogJAVA语言程序设计期末考试试题及答案3(应考必备题库)一、单项选择题L如下哪个是Java中的标识符()A、public B、super C、3number D、width2、如下哪个是Java中的标识符()A、fieldname B、super C、3number D、#number3、已知如下定义:String s=story;下面哪个语句不是合法的()A、s+=books;B、s=s+100;C、int len=s.length;D、String t=s+abc;4、如下哪个是Java中有效的关键字()A、name Bs hello C、false D、good5、下面的代码段执行之后count的值是什么()int count=1;for(int i=1;i=5;i+)count+=i;)System.oz/fprintln(count);A、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、p.add(b);B、p.add(b,North);C、p.add(b,South);D、b.add(p,North);9、声明并创建一个按钮对象b,应该使用的语句是()A、Button b=new ButtonQ;B、button b=new buttonQ;C、Button b=new b();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayout B、BorderLayoutC、Card Layout D、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A、import java.sql.*;B、import java.util.*;C.import java.io.*;D、.*;12、下面哪一个import命令可以为我们提供编写网络应用程序的类()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、.*;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、Fileinputstream B、FileOutputStreamC、DataOutputStream D、FileWriter二、填空题L如果将类MyClass声明为public,它的文件名称必须是(MyQassjava)才能正常编译。2、Java程序中的单行注释符是(),多行注释符是(/*/X3、Java中布尔类型的常量有两种,它们是(true)和(false工4、Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。5、Java中用于两个数相等比较的运算符是:(=),用于不相等比较的运算符是(I6、在Java中定义一个字符串类型的变量str的语句是:(String str;),定义一个具有10个元素的整型数组a的语句是:(int 口 arr=new int10;)。7、导 入mypackage包中的所类的命令是(import mypackage.*;入8、当声明一个数组int arr=new int5;时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(。到4%9、假设x=13,y=4,则表达式x%y!=0的值是(true),其数据类型是(boolean 10、异常处理是由(try (catch)和finally块三个关键所组成的程序块。11、以下程序段的输出结果是(三角 形)int x=5,y=6,z=4;if(x+y z&x+z y&z+y x)System.otprintln(三角形)elseSyste m.p r i n 1 1 n(不是三角形);12、下面程序段的执行结果是(6 543 2)inta=2,3,4,5,6;for(int i=a.length-1;i=0;i-)Syste m.out.p ri nt(a i+);三、程序阅读题1、以下程序的输出结果为_ Peter is 17 years old!public class Person String name;int age;public Person(String name,int age)this.name=name;this.age=age;)public static void main(String args)Person c=new Person(nPeterf 17);System.O4/Z:println(c.name+is +c.age+years old!n);)2.以下程序的输出结果为一课程号:101课程名:ASP学分:3public class Course private String eNumber;private String cName;private int cllnit;public Course(String number,String name,int unit)eNumber=number;cName=name;cU nit=unit;)public void printCourselnfoQ System.ot/tprintln(课程号:+eNumber+”课程名:”+cName+学分:+cU nit);)class CourseTest public static void main(String args)Course c;c=new Course(n101 ASP,3);c.printCourselnfoQ;)3、以下程序的输出结果为汤姆猫体重:200斤_。public class Tom private float weight;private static String name,public void setWeight(float weight)this.weight=weight;private void out()System.4?println(77a/77e+“体 重:+weight+斤);)public static void main(String args)lova.name 二汤姆猫”;Tom cat=new Tom();cat.setWeight(20);cat.outQ;)4、以下程序的输出结果_ 姓名:Tom年龄:15家庭住址:金水区电话:66123456学 校:九中public class Father String name,address,tel;int age;public Father(String name,int age)this.name=name;this.age=age;)void out()System.otprint(姓名:+name);System.oprint(年龄:+age);)void outOtherQ System.otprint(家庭住址:+address);S y s t e m r in t(电话:+tel);)class Son extends Father String school;public Son(String name,int age)super(namez age);)void out()super.outQ;super.outOther();System.otprintln(学 校:+school);)public static void main(String args)Son son=new SonCTom;15);son.address=金水区”;son.school=九中;son.tel=66123456;son.out();)5、下列程序的运行结果是_12345。public class MyClass inta=1,2,3,4.5);void out()for(int j=0;j Java多态性的不同表现。重 写Overriding是父类与子类之间多态性的一种表现,重 载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding),子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序(1)创建一个Rectangle类,添加width和height两个成员变量(2)在Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积解 答:public class Rectangle float width,height;public Rectangle(float width,float height)this.width=width;this.height=height;)public float getLength()return(this.width+this.height)*2;)public float getArea()return this.width*this.height;)public static void main(String args)Rectangle rect=new Rectangle(10,20);System。亡printing周长是:+rect.getLength();Syste m.out.p ri nt I n(+rect.getArea();)2、按以下要求编写程序(1)编写Animal接 口,接口中声明run()方法(2)定 义Bird类 和Fish类实现Animal接口(3)编 写Bird类 和Fish类的测试程序,并调用其中的run()方法解 答:public interface Animal void run();class Bird implements Animal public void run()System.ootprintln(鸟儿在飞.);)class Fish implements Animal public void run()Sy ste m.p r i n 1 1 n(鱼儿在游.);)public class TestAnimal public static void main(String args)Bird bird=new Bird();bird.run();Fish fish=new Fish();fish.run();)3、编写一个Frame框架应用程序,要求如下:(1)在窗口设置两个菜单“文件”、“编辑”(2)在“文件”菜单里添加三个菜单项“打开”、“保 存 二“关闭”(3)在“编辑”菜单里添加两个菜单项“复制”、粘贴”(4)点击关闭菜单项时,使程序关闭。解 答:import java.awt.Color;import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;/*主窗体Vpublic class MyFrame extends Frame private static final long serialVersionUID=6895463895656626294L;private Frame frmMain;/窗体MenuBar mb;/菜单栏Menu mnuFile;/“文件”菜单Menu mnuEdit;/”编辑”菜单Menuitem miOpen;/打开”菜单项Menuitem miSave;/保存”菜单项Menuitem miClose;/关闭”菜单项Menuitem miCopy;/复制”菜单项Menuitem miPaste;/粘贴”菜单项public MyFrame()frmMain=new Frame(主窗体);/创建菜单栏mb=new MenuBar();/创建菜单mnuFile=new Menu(文件);mnuEdit=new Menu(编辑);/创建菜单项miOpen=new Menuitem(打开);miSave=new Menuitem(保存)miClose=new Menultem(关 闭 );miCopy=new Menuitem(复制);miPaste=new Menuitem(粘贴】)public void showFrame()frmMain.setSize(800,600);frmMain.setLocation(100/100);frmMain.setBackground(Color.whita;frmMain.setV isible(true);frmMain.setLayout(null);frmMain.addWindowListener(new WindowHandlerO);/注册窗口监听器/将菜单栏放入窗体中frmMain.setMenuBar(mb);/将菜单放入菜单栏中mb.add(mnuFile);mb.add(mnuEdit);/将菜单项放入菜单中mnuFile.add(miOpen);mnuFile.add(miSave);mnuFile.add(miClose);mnuEdit.add(miCopy);mnuEdit.add(miPaste);/注册动作事件监听器miClose.setActionCommand(wmiClose_Clicked);miClose.addActionListener(new MenuHandlerQ);)/定义内部类,在这个类中编写窗口关闭事件处理程序。private class WindowHandler extends WindowAdapter public void windowClosing(WindowEvent e)System.eW);/退出应用程序,状 态 码0表示正常终止,非0表示异常终止。)/定义一个内部类,在这个类中编写动作事件处理程序。private class MenuHandler implements ActionListener public void actionPerformed(ActionEvent e)if(e.getActionCommand()=miClose_Clicked)System.ex/%0);退出应用程序)public class TestMyFrame public static void main(String args)/启动主窗体MyFrame guiWindow=new MyFrame();guiWindow.showFrame();)JAVA语言程序设计期末考试试题及答案4(应考必备题库)一 单 选 题1、下列程序段执行后的结果是()。String s=new String(abcdefg);for(int i=0;is.length();i+=2)System.out.print(s.charAt(i);)A)aceg B)AC EG C)abcdefg D)abed2、有整型数组:int*=12,35,8,7,2;,则调用方法庆四丫。代仅)后,数组x中的元素值依次是().A)2 7 8 12 35 B)12 35 8 7 2C)35 12 8 7 2 D)8 7 12 35 23、下面的程序段创建了 Buffered Reader类的对象in,以便读取本机c盘my文件夹下的文 件l.txt。File构造函数中正确的路径和文件名的表示是()。File f=new File(填代码处);file=new FileReader(f);in=new BufferedReader(file);A),/l.txt B)./my/l.txt C)c:myl.txtn D)c:myl.txt4.应用程序的main方法中有以下语句,则输出的结果是()。String sl=new String(abc);String s2=new String(nabcM);boolean bl=sl.equals(s2);boolean b2=(sl=s2);System.out.print(bl+b2);A)true false B)false true C)true true D)false false5.应用程序的main方法中有以下语句,则输出的结果是()。Hashtable hashtable=new Hashtable();hashtable.put(x,12345n);hashtable.put(y/67890);hashtable.put(a7abcde);System.out.println(hashtable.get(a);A)a B)abcde C)12345 D)678906.下面语句的功能是()。RandomAccessFile raf2=new RandomAccessFile(nl.txtrrw);A)打开当前目录下的文件l.txt,既可以向文件写数据,也可以从文件读数据。B)打开当前目录下的文件l.txt,但只能向文件写入数据,不能从文件读取数据。C)打开当前目录下的文件l.txt,但不能向文件写入数据,只能从文件读取数据。D)以上说法都不对。7.应用程序的main方法中有以下语句,则输出的结果是()。String s=12345#aaa#bbb#67890;int n=s.indexOf(M#n);int k=s.indexOf(,#,n+l);int m=sJndexOf(#,k+l);String s2=s.substring(m+l);System.out.println(s2);A)123456 B)67890 C)aaa D)bbb8.下面程序段执行后b 的值是()。Integer integ=new Integer(9);boolean b=integ instanceof Object;A)9 B)true C)1 D)false9、应用程序Testjava的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是()。public class Test public static void main(String args)int kl=args.length;int k2=argsl.length();System.out.print(kl+k2);)A)3 2 B)1 2 C)1 3 D)3 31 0.应用程序的main方法中有以下语句,则输出的结果是()。int b口口=1,2,2,2,2,2;int sum=0;for(int i=O;ib.length;i+)for(int j=OJbi.length;j+)sum*=bij;)System.out.println(nsum=+sum);A)32 B)ll C)2 D)3M.应用程序的main方法中有以下语句,则执行后输出的结果是()。int x=Q25,21,5,168,98;int max=x0;for(int i=l;i max)max=xi;)System.out.println(max);A)125 B)5 C)98 D)1681 2.程序Test.java编译运行后输出的结果是()。public class Test String sl=njava;public static void main(String args)int z=2;Test t=new TestQ;System.out.println(t.sl+z);)A)java2 B)2 C)没有输出结果 D)java13、应用程序的main方法中有以下语句,则输出的结果是().String sl=0.5,s2=n12;double x=Double.parseDouble(sl);int y=lnteger.parselnt(s2);System.out.println(x+y);A)12.5 B)120.5 C)12 D)“12.5”14、下面的程序创建了一个文件输出流对象,用来向文件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 FileOutputStreamCtest.txt,true);file.write(b);file.closeQ;)catch(IOException e)System.out.println(e.toStringO);)A)ABCABC B)ABCDE C)Test D)ABCDE ABCDE ABCDE二、多选题1、下 面main。方法的定义哪些是正确的()?A)public static void main(String args)B)public static void main(String)C)public static void main(String args)D)public static void main(String x)2、线程对象的生命周期中,通常经历下面哪些状态(XA)新建B)运行C)就绪D)死亡3、下面说法正确的是()。A)final可修饰类、属性(变量)、方法。B)abstract可修饰类、方法。C)抽象方法只有方法头,没有方;去体。D)关键字final和abstract不能同时使用。4、下面关于java中输入/输出流的说法正确的是()。A)FilelnputStream 与 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)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。QJava多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系 统,线程可以分配到多个处理器中,从而真正的并发执行多任务。8、关 于BufferedReader类 的readLine()方 法,以下说法正确的是(A)方 法read Line。每次读取一行数据。B)方 法read Line()每次读取一个字节。O该方法可能抛出Exception异常调用该方法时通常应将它放到try块 中,并通过catch块处理异常。D)如果读到流的末尾,该方法返回的结果为null。三.程序阅读题1、阅读下面的程序,回答问题(问3分,问3分,共6分)。import java.awt.*;import javax.swing.*;public class T extends JFrame