《java语言程序设计课件资料》《java语言程序设计》期末考试试题及答案1-7.pdf
public class test static int i;public int aMethod()i+;return i;)public static void main(String args)Test test=new Test();test.aMethod();System.out.println(test.aMethodO);)a)0 b)l c)2 d)3设x=2,则表达式(x+)/3的值是 0 o2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(X )3.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(X )4.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(V)5.拥 有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(V)6.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(V)7.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(X )6.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行()。A、init()B、start()C、destroy()D stop()8.设有下面两个赋值语句:a =I n t e g e r.p a r s e l n t(“1 2”);b =I n t e g e r.v a l u e O f (i(12v).i n t V a l u e O ;下述说法正确的是()。A、a 是整数类型变量,b 是整数类对象。B、a 是整数类对象,b 是整数类型变量。C、a 和 b 都是整数类对象并且值相等。D、a 和 b 都是整数类型变量并且值相等。9.FilterOutputStream 是 BufferedOutputStreamDataOutputStream 及 Printstream 的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?A、Outputstream B、FileC、Inputstream D BufferedOutputStream3.写出以下程序的功能。import java.io.*;public class TestFilepublic static void main(String args)throws Exception(BufferedReader br=new BufferedReader(new InputStreamReader(System.in);BufferedWriter bw=new BufferedWriter(new FileWriter(z/input.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.close();)功能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。JAVA语言程序设计期末考试试题及答案3(应考必备题库)3、已知如下定义:String s=story;下面哪个语句不是合法的()A s+=books;B、s=s+100;C、int len=s.length;D、Stringt=s+abc;8、如果容器组件p 的布局是BorderLayout,则在p 的下边中添加一个按钮b,应该使用的语句是()A、p.add(b);B、p.add(bzNorthH);CN p.addfb/South);D、b.addfp/North);9、声明并创建一个按钮对象b,应该使用的语句是()A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(确定);10、Frame对象默认的布局管理器是()A、FlowLayout B、BorderLayoutC、CardLayout D、null13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、Fileinputstream B、FileOutputStreamC、DataOutputStream D FileWriter6、在 Java中定义一个字符串类型的变量str的语句是:(String s t r;),定义一个具有10个元素的整型数组a 的语句是:(intH arr=n e w in t10;)。7、导入mypackage包中的所类的命令是(import mypackaRe.*;)“8、当声明一个数组int arr=new int5;时,这代表这个数组所保存的变量类型是(in t),数组名是(a r r),数组的大小为(5),数组元素下标的使用范围是(0 到 4)。9 假设x=13,y=4,则表达式x%y!=0 的 值 是(tru e),其数据类型是(boolean)o10、异常处理是山(try)(catch)和 finally块三个关键所组成的程序块。11、以下程序段的输出结果是(三角形)int x=5,y=6,z=4;if(x+y z&x+z y&z+y x)System.out.printin(“三角形”);elseSystem,out.printin(不是三角形1 1);12、下面程序段的执行结果是(6 5 4 3 2)int a =2,3,4,5,6;for(int i=a.length-1;i=0;i-)System,out.print(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(*Peter,17);System,out.printin(c.name+*is +c.age+n years old!)2、以下程序的输出结果为课程号:101课程名:A S P学分:3。public class Course private String eNumber;private String cName;private int cUnit;public Course(String number,String namez int unit)cNumber=number;cName=name;cUnit=unit;)public void printcourseinfo()System,out:.printIn(课程号:”+eNumber+”课程名:+cName+学分:”+cUnit);)class CourseTest(public static void main(String args)Course c;c=new Course(1 101H,ASP,3);c.printcourseinfo();)3、以下程序的输出结果为汤姆猫体重:20.0斤。public class Tom(private float weight;private static String name;public void setweight(float weight)this.weight=weight;)private void out()System.out.printIn(name+“体重:1 +weight+“斤”);)public static void main(String args)Tom.name 汤姆猫;Tom cat=new Tom();cat.setweight(20);cat.out();)4、以下程序的输出结果_ 姓名:T o m年龄:1 5家庭住址:金水区电话6123456学校:九中一。public class Father String name,address,tel;int age;public Father(String name,int age)this.name=name;this.age=age;void out()System.out.print(+name);System.out.print(年龄:+age);)void outOther()System.out.print(家庭住址:”+address);System.out.print(电话:+tel);)class Son extends Father(String school;public Son(String name,int age)super(name,age);)void out()super.out();super.outOther();System,out.printIn(学 校:+school);)public static void main(String args)Son son=new Son(Tom”,15);son.address=金水区”;son.school=九中”;son.tel=66123456”;son.out();)5、F列程序的运行结果是_12345.public class MyClass(int a=1,2,3,4,5;void out()for(int j =0;j a.length;j +)System,out.print(a j +n ,);)public static void main(String args)MyClass my=new MyClass();my.out();)四、简答题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、请简述重载和重写的区别?答:方法的重写O verriding和重载Overloading是 Java多态性的不同表现。重 写 O verriding是父类与子类之间多态性的一种表现,重 载 Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。五、程序设计题1、按以下要求编写程序(1)创建一个Rectangle类,添加width和 height两个成员变量(2)在 Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积解答:p u b lic c la s s R ectan g le f lo a t w idth,h e ig h t;p u b lic R e c ta n g le(flo a t w idth,f lo a t h e ig h t)t h i s.w id th =w id th;t h i s.h e ig h t=h e ig h t;p u b lic f lo a t g e tL e n g th()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.out.printIn(+rect.getLength();System,out.printIn(+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.out.printin(鸟JL在飞)class Fish implements Animal(public void run()System.out.printin(鱼儿在游)public class TestAnimal(public static void main(String args)Bird bird=new Bird();bird.run();Fish fish=new Fish();fish.run();)3、编写一个Frame框架应用程序,要求如下:在窗口设置两个菜单 文件、编辑 在 文件 菜单里添加三个菜单项 打开、保存、关闭(3)在 编辑 菜单里添加两个菜单项 复制、粘贴 点击关闭菜单项时,使程序关闭。解答:import j ava.awt.Color;import j ava.awt.Frame;import j ava.awt.Menu;import j ava.awt.MenuBar;import java.awt.Menuitem;import j ava.awt.event.ActionEvent;import j ava.awt.event.ActionListener;import j ava.awt.event.WindowAdapter;import j ava.awt.event.WindowEvent;*主窗体*public 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()f rmMain=new Frame(主窗 体”);/创建菜单栏mb=new MenuBar();/创建菜单mnuFile=new Menu(;mnuEdit=new Menu(“编辑”);/创建菜单项miOpen=new Menuitem(*JTFFn);miSave=new Menu工 tem(“保存”);miClose=new Menu工 tem(“关闭”);mi Copy=new Menu 工 tem(“复制”);miPaste=new Menu工 tem(“粘贴”);)public void showFrame()frmMain.setsize(800,600);frmMain.setLocation(100,100);frmMain.setBackground(Color.white);frmMain.setVisible(true);frmMain.setLayout(null);f rmMain.addWindowListener(new WindowHandler();/注册 窗口监听器/将菜单栏放入窗体中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.se tAc t i onCommand(miClose_Clicked);miClose.addActionListener(new MenuHandler();)/定义个内部类,在这个类中编写窗口关闭事件处理程序。private class WindowHandler extends WindowAdapter(public void windowclosing(WindowEvent e)System.exit(0);/退出应用程序,状 态 码 0 表示正常终止,非 0 表示异常终止。)/定义一个内部类,在这个类中编写动作事件处理程序。private class MenuHandler implements ActionListener(public void actionPerformed(ActionEvent e)if(e.getActionCommand()miClose Clicked)System.exit(0);/退出应用程序)public class TestMyFrame public static void main(String args)/启动主窗体MyFrame guiWindow=new MyFrame();guiWindow.showFrame();JAVA语言程序设计期末考试试题及答案4(应考必备题库)一、单选题1、下列程序段执行后的结果是()oString s=new String(Habcdefg);for(int i=0;is.length();i+=2)System.out.print(s.charAt(i);)A)aceg B)ACEG C)abcdefg D)abed2、有整型数组:int口 乂=12,35,872;,则调用方法人 皿 560武仅)后,数组x 中的元素值依次是().A)2 7 8 12 35 B)12 35 8 7 2C)35 12 8 7 2 D)8 7 12 35 23、下面的程序段创建了 BufferedReader类的对象i n,以便读取本机c 盘 my文件夹下的文件Ltxt。File构造函数中正确的路径和文件名的表示是()。File f=new File(填代码处);file=new FileReader(f);in=new BufferedReader(file);A)u./l.txt B)./my/l.txt C)c:myl.txt D)c:myl.txt4、应用程序的main方法中有以下语句,则输出的结果是()。String sl=new String(abc);String s2=new String(abc);boolean bl=sl.equals(s2);boolean b2=(sl=s2);System.out.print(bl+b2);AJtrue false B)false true C)true true D)false false5、应用程序的main方法中有以下语句,则输出的结果是()。Hashtable hashtable=new Hashtable();hashtable.put(x;,12345);hashtable.put(y,67890n);hashtable.putCaVabcde);System.out.println(hashtable.get(a);A)a B)abcde C)12345 D)678906、下面语句的功能是()oRandomAccessFile raf2=new RandomAccessFileCl.txt,rw);A)打开当前目录下的文件l.t x t,既可以向文件写数据,也可以从文件读数据。B)打开当前目录下的文件l.t x t,但只能向文件写入数据,不能从文件读取数据。C)打开当前目录下的文件l.t x t,但不能向文件写入数据,只能从文件读取数据。D)以上说法都不对。7、应用程序的main方法中有以下语句,则输出的结果是()。String s=12345#aaa#bbb#67890”;int n=s.indexOf(#);int k=s.indexOf(#,n+l);int m=s.indexOf(#,k+l);String s2=s.substring(m+l);System.out.println(s2);A)123456 B)67890 C)aaa D)bbb8、下面程序段执行后b 的值是()oInteger integ=new lnteger(9);boolean b=integ instanceof Object;A)9 B)true C)1 D)false9、应用程序Testjava的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是()opublic 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 310、应用程序的main方法中有以下语句,则输出的结果是()。int b=l,2f2f 2,2,2);int sum=0;for(int i=O;ib.length;i+)for(int j=O;jbi.length;j+)sum*=bij;)System.out.println(sum=+sum);A)32 B)ll C)2 D)311、应用程序的main方法中有以下语句,则执行后输出的结果是()。int x=125,21,5,168,98);int max=xO;for(int i=l;i max)max=xi;)System.out.println(max);A)125 B)5 C)98 D)16812、程序Test.java编译运行后输出的结果是()。public class Test String sl=java;public static void main(String args)int z=2;Test t=new Test();System.out.println(t.sl+z);)A)java2 B)2 C)没有输出结果D)java13、应用程序的main方法中有以下语句,则输出的结果是()。String si=”0.5”,s2=,12;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.514、下面的程序创建了一个文件输出流对象,用来向文件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.write(b);file.close();)catch(IOException e)System.out.println(e.toString();)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、线程对象的生命周期中,通常经历下面哪些状态()。A)新建 B)运行 C)就绪 D)死亡3、下面说法正确的是()。A)final可修饰类、属性(变量)、方法。B)abstract可修饰类、方法。C)抽象方法只有方法头,没有方法体。D)关键字final和 abstract不能同时使用。4、下面关于java中输入/输出流的说法正确的是()。A)FilelnputStream 与 FileOutputStream 类用读、写字节流。B)Reader与Writer类用来读、写字符流。0 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)该方法可能抛出lOException异常、调用该方法时通常应将它放到try块中,并通过catch块处理异常。D)如果读到流的末尾,该方法返回的结果为null。三、程序阅读题1、阅读下面的程序,回答问题(问3 分,问3 分,共 6 分)。import java.awt.*;import javax.swing.*;public class T extends JFrame public T()super(GridLayoutn);Container con=this.getContentPane();con.setLayout(new GridLayout(2,3);con.add(new JButton(a);con.add(new JButton(b);con.add(new JButton(c);con.add(new JButton(d);con.add(new JButton(e);con.add(new JButton(f);setSize(200,80);setVisible(true);)public static void main(String args)new T();)画图表示程序运行后的图形界面。如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?答案:接 口名:ActionListener接口中的方法:public void actionPerformed(ActionEvent e)2、阅读下面的程序,并回答问题(问3 分,问3 分,共 6 分)。import java.io.*;public class Test public static void main(String args)throws lOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);while(true)String str=buf.readLine();if(str.equals(quit)break;int x=lnteger.parselnt(str);System.out.println(x*x);)编译运行上面的程序:从键盘输入5,回车后输出的结果如何?从键盘输入q u it,回车后程序执行情况如何?答案:25 终止应用程序的运行。JAVA程序设计期末考试试题(五)二、单选题1、当某一线程正处于休眠状态,而另一个线 程 用 Thread类 中 的 interrupt()方法中断它时,抛出的异常类型是()。A)lOException B)RuntimeExceptionC)InterruptedException D)ClassNotFoundException2、下面的程序段的功能是()。File filel=new FiIe(diWxxxWyyyWzzz);filel.mkdirs();A)在当前目录下生成子目录:xxxyyyzzz B)生成目录:e:xxxyyyzzzC)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对3、应用程序的main方法中有以下语句,则输出的结果是()。String s=Hxxxxxxxxxxxxxxx#123#456#zzzzz;int n=s.indexOf(#);int k=s.indexOfC#,n+1);String s2=s.substring(n+l,k);System.out.println(s2);A)123456 B)123 C)xxxxxxxxxxxxxxx D)zzzzz4、关于下面的程序Test.java说法正确的是()。public class Test String x=l;int y;public static void main(String args)int z=2;System.out.println(x+y+z);)A)3 B)102 C)12 D)程序有编译错误5、应用程序的main方法中有以下语句,则输出的结果是()。int bl=l,1,1,2,2,3);int sum=0;for(int i=0;ib.length;i+)for(int j=0;jbi.length;j+)sum+=bij;)System.out.println(sum=+sum);A)10 B)6 C)9 D)136、应用程序的main方法中有以下语句,则执行后输出的结果是(int x=125,21,5,168,98;int min=x0;for(int i=l;ix.length;i+)if(xi min)min=xi;System.out.println(min);A)125 B)5 C)98 D)1687、应用程序的main方法中有以下语句,则输出的结果是()。Hashtable hashtable=new Hashtable();hashtable.put(100/aaa);hashtable.put(200;bbb);hashtable.put(,3007,ccc);System.out.println(hashtable.get(300).toString()+hashtable.get(200H).toString()+hashtable.get(H100).toString();A)aaa B)bbb C)ccc D)cccbbbaaa8、以下关于java异常说法不正确的是()。A)Throwable类 是 Java语言中Error类 和 Exception类的父类。B)当异常对象是Exception类(或其子类)的实例时,能 通过Java虚拟机或者throw语句抛出该异常对象,并能通过try.catch.finally处理。C)如果只用一个catch块捕捉多个异常对象,则 catch子句中的参数类型应是所有异常对象的父类。D)以上说法都不对。9、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下存在文件test.txt,编译下面的程序Testjava后,将该程序运行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.txtz true);file.write(b);file.close();)catch(IOException e)System.out.println(e.toStringO);)A)ABCABC B)ABCDE C)Test D)ABCDE ABCDE ABCDE10、下面说法不正确的是()?A)列表(List)、集合(Set)和映射(Map嘟 是 java.util包中的接口。B)List接口是可以包含重复元素的有序集合。C)S et接口是不包含重复元素的集合。D)Map接口将健映射到值,键可以重复,但每个健最多只能映射一个值。二、多选题1、下面哪些关键字能用来控制对类成员的访问()?A)public B)protected C)private D)default2、下面关于Java中异常处理try块的说法正确的是()?A)try块后通常应有一个catch块,用来处理try块中抛出的异常。B)catch块后必须有finally块。C)可能抛出异常的方法调用应放在try块中。D)对抛出的异常的处理必须放在try块中3、线程对象的生命周期中,通常经历下面哪些状态()。A)新建 B)运行 C)就绪 D)死亡4、定义如下的二维数组b,下面的说法正确的是()oi n t b =1,2,3,4,5,6,7.8 );A)b.l e n g t h 的值是 3。B)b l .l e n g t h 的值是 3。的值是5。D)二维数组b的 第 行 有3个元素5、