java期末试题及答案.pdf
1 一、单选择题(每小题 2 分,共 10 分)1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A.java B.class C.html D.exe 2、设 x=1,y=2,z=3,则表达式 yz/x 的值是(A)。A.3 B.3.5 C.4 D.5 3、在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的(D)方法来完成一些画图操作。A.start()B.stop()C.init()D.paint()4、不允许作为类及类成员的访问控制符的是(C)。A.public B.private C.static D.protected 5、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为(A)。A.static void method()B.public void method()C.final void method()D.abstract void method()二、填空题(每空格 1 分,共 20 分)1、开发与运行 Java 程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和 解释运行字节码。2、如果一个 Java Applet 源程序文件只定义有一个类,该类 的类名为 MyApplet,则类 MyApplet 必须是 Applet、类的子类 并且存储该源程序文件的文件名为 MyApplet。3、如果一个 Java Applet 程序文件中定义有 3 个类,则使用 Sun 公司的 JDK 编译器 javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为.class 的字节码文件。4、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个Unicode 码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。5、设 x=2,则表达式(x+)3 的值是 0。6、若 x=5,y=10,则 x=y 的逻辑值分别为 true 和 false。7、抽象(abstract)方法 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法 方法是不能被当前类的子类重新定义的方法。8、创建一个名为 MyPackage 的包的语句 package MyPackage;,该语句应该放在程序的位置为:应该在程序第一句。9、设有数组定义:int MyIntArray =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;System.out.println(s);10、在 Java 程序中,通过类的定义只能实现 单 重继承,但通过接口的定义可以实现 多 重继承关系。三、写出下列程序完成的功能。(每小题 5 分,共 20 分)1、public class Sum public static void main(String args)double sum=0.0;for(int i=1;i=100;i+)sum+=1.0/(double)i;2 System.out.println(sum=+sum);1、计算 1/1+1/2+1/3+.+1/100 的值。2、import java.io.*;public class Reverse public static void main(String args)int i,n=10;int a =new int10;for(i=0;i=0;i )System.out.print(ai+);System.out.println();2、从标准输入(即键盘)读入 10 个整数存入整型数组 a 中,然后逆序输出这 10 个整数。3、import java.awt.*;public class abc public static void main(String args)new FrameOut();class FrameOut extends Frame/Frame 为系统定 Button btn;/义的窗框类 FrameOut()super(按钮);btn=new Button(按下我);setLayout(new FlowLayout();add(btn);setSize(300,200);show();3、创建一个标题为按钮的窗框,窗框中显示有按下我字样的按钮。4、import java.io.*;public class abc public static void main(String args)SubClass sb=new SubClass();System.out.println(sb.max();class SuperClass int a=10,b=20;class SubClass extends SuperClass int max()return(ab)?a:b);4、求两个数的最大值。3 四、写出下面程序的运行结果(每小题 10 分,共 30 分)1、import java.io.*;public class abc public static void main(String args)AB s=new AB(Hello!,I love JAVA.);System.out.println(s.toString();class AB String s1;String s2;AB(String str1,String str2)s1=str1;s2=str2;public String toString()return s1+s2;Hello!I love JAVA.2、import java.io.*;public class abc public static void main(String args)int i,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=180 五、使用 Java 语言编写程序。(每小题 10 分,共 20 分)1、编写一个字符界面的 Java Application 程序,接受用户 输入的 10 个整数,并输出这 10 个整数的最大值和最小值。import java.io.*;public class abc public static void main(String args)int i,n=10,max=0,min=0,temp=0;try BufferedReader br=new BufferedReader(new InputStreamReader(System.in);max=min=Integer.parseInt(br.readLine();catch(IOException e);for(i=2;i max)max=temp;if(temp 10)3)System.out.println(more than 10);4)5)else if(str!=null)&(str.length()5)6)System.out.println(less than 5);7)8)else System.out.println(end);哪些行会导致错误?A line 1 B line 2 C line 5 D line 8 2.下面哪种注释方法能够支持 javadoc 命令:A/*.*/B/*.*/C/D/*.*/3.欲编写如下图的一个界面,用于显示用户指定的图像:如果在区域 A中只能放置一个 AWT 组件,从各组件的本来功能角度考虑,最好使用哪种组件:A TextArea B Panel C Applet D Canvas 4.界面如上题所示。若Button1的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):A 模式(Modal)Dialog B 非模式(None-modal)Dialog C FileDialog D Frame 5.界 面 如 上 题 所 示。如 果 在 A区 域 使 用 某 种 AWT 组 件(java.awt.Component 的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和 Java 虚拟机的 AWT 线程都会要求重画该组件)?A 构造方法 B paint(Graphics g)C update(Graphics g)D repaint()6.下面关于 Applet 的说法正确的是 A Applet 也需要 main 方法 B Applet 必须继承自 java.awt.Applet C Applet 能访问本地文件 D Applet 程序不需要编译 7.看下面一段程序:class Aclass void go()System.out.println(Aclass);public class Bclass extends Aclass void go System.out.println(Bclass);public static void main(String args)Aclass a=new Aclass();Aclass a1=new Bclass();a.go();a1.go();5 以上程序运行结果是:A Aclass Aclass B Bclass Bclass C Aclass Bclass D Bclass Aclass 8.下列关于 Java 线程的说法那些是正确的()A 每一个 Java 线程可以看成由代码、一个真实的 CPU 以及数据三部份组成。B 创建线程的两种方法中,从 Thread 类中继承的创建方式可以防止出现多父类问题。C Thread 类属于 java.util 程序包。D 以上说法无一正确。9.看以下程序:boolean a=false;boolean b=true;boolean c=(a&b)&(!b);int result=c=false?1:2;这段程序执行完后,c 与 result 的值是:A c=false;result=1;B c=true;result=2;C c=true;result=1;D c=false;result=2;10.运行下列程序,会产生什么结果 public class X extends Thread implements Runable public void run()System.out.println(this is run();public static void main(String args)Thread t=new Thread(new X();t.start();A 第一行会产生编译错误 B 第六行会产生编译错误 C 第六行会产生运行错误 D 程序会运行和启动 11.指出下列程序的运行结果 int i=9;switch(i)default:System.out.println(default);case 0:System.out.println(zero);break;case 1:System.out.println(one);case 2:System.out.println(two);A default B default,zero C error default clause not defined 6 D no output displayed 那个 12.运行下列程序,会产生什么结果:class Outer1 private int a;void foo(double d,final float f)String s;final boolean b;class Inner void methodInner()System.out.println(in the Inner);public static void main(String args)Outer1 me=new Outer1();me.foo(123,123);System.out.println(outer);A in the Inner outer B outer C in the Inner D 编译不通过 1.编写一个程序用选择法对数组 a=20,10,50,40,30,70,60,80,90,100进行由大到小的排序。import java.io.*;public class SelectSort public static void main(String args)int a=20,10,50,40,30,70,60,80,90,100;int temp;for(int i=0;ia.length-1;i+)for(int j=i+1;ja.length;j+)if(aiaj)temp=ai;ai=aj;aj=temp;for(int k=0;ka.length;k+)System.out.println(a+k+:+ak);2.使用 socket 编写一个服务器端程序,服务器端程序在端口 8888 监听,如果它接到客户端发来的hello请求时会回应一个hello,对客户端的其他请求不响应。import java.io.*;7 import .*;public class HelloServer public static void main(String args)throws IOException ServerSocket server=null;server=new ServerSocket(8888);Socket ClientSocket=null;ClientSocket=server.accept();String line;BufferedReader is=new BufferedReader(new InputStreamReader(ClientSocket.getInputStream();PrintWriter os=new PrintWriter(ClientSocket.getOutputStream();while(true)line=is.readLine();if(line.equals(hello)os.println(hello);os.flush();3.编写一个应用程序,创建三个线程分别显示各自的时间。import java.util.*;import java.text.*;class ThreeTimeThread extends Thread public ThreeTimeThread(String str)super(str);public void run()while(true)SimpleDateFormat formatter=new SimpleDateFormat(yyyy.MM.dd G at hh:mm:ss z);Date currentTime=new Date();try sleep(1000);catch(Exception e)String dateString=formatter.format(currentTime);System.out.println(getName()+:+dateString);public static void main(String args)throws Exception new ThreeTimeThread(first).start();new ThreeTimeThread(second).start();new ThreeTimeThread(third).start();8 小学二(2)班班规 一、安全方面 1、每天课间不能追逐打闹。2、中午和下午放学要结伴回家。3、公路上走路要沿右边走,过马路要注意交通安全。4、不能在上学路上玩耍、逗留。二、学习方面 1、每天到校后,不允许在走廊玩耍打闹,要进教室读书。2、每节课铃声一响,要快速坐好,安静地等老师来上课。3、课堂上不做小动作,不与同桌说悄悄话,认真思考,积极回答问题。4、养成学前预习、学后复习的好习惯。每天按时完成作业,保证字迹工整,卷面整洁。5、考试时做到认真审题,不交头接耳,不抄袭,独立完成答卷。三、升旗排队和两操方面 1、升旗时,要快速出教室排好队,做到快、静、齐,安静整齐地排队走出课室门,班长负责监督。2、上午第二节后,快速坐好,按要求做好眼保健操。3、下午预备铃声一响,在座位上做眼保健操。四、卫生方面 1、每组值日生早晨 7:35 到校做值日。9 2、要求各负其责,打扫要迅速彻底,打扫完毕劳动工具要摆放整齐。3、卫生监督员(剑锋,锶妍,炜薪)要按时到岗,除负责自己的值日工作外,还要做好记录。五、一日常规 1、每天学生到齐后,班长要检查红领巾。2、劳动委员组织检查卫生。3、每天负责领读的学生要督促学生学习。4、上课前需唱一首歌,由文娱委员负责。5、做好两操。6、放学后,先做作业,然后帮助家长至少做一件家务事。7、如果有人违反班规,要到老师处说明原因。班训:坐如钟 站如松 快如风 静无声 班规:课堂听讲坐如钟,精神集中认真听;排队升旗站如松,做操到位展雄风;做事迅速快如风,样样事情记得清;自习课上静无声,踏实学习不放松;个人努力进步快,团结向上集体荣;我为领巾添光彩,标兵集体记我功。10 加分标准 序号 考核项目 加分值 备注 1 单元考试满分+2 2 单元考试 85 分以上+1 3 课堂小测满分+1 4 期中、期末考试满分+3 5 在红领巾广播站投稿一次+2 6 在校级活动中获奖+5 7 作业十次全对得一颗星+3 8 课堂上得到表扬+1 9 班干部工作认真负责+1 10 做好事、有利于班集体和学校的事+2 11 进步比较明显+2 12 连续一周该组值日卫生达标 本组值日生每人加 2 分 扣分标准 11 序号 考核项目 扣分值 备注 1 没交作业、不做晚作业-1 2 忘带书本、学具-1 3 迟到-1 4 在课堂上被老师点名-2 5 不穿校服,不戴红领巾-1 6 吃零食、带钱、带玩具-2 7 说脏话、打架-3 请家长,写保证书 8 座位周围有垃圾-2 9 课间操、眼保健操不认真做-1 10 升旗时违反纪律-2 11 来学校不进教室,在走廊聊天打闹-1 12 体育课打闹说话、排队-2 不整齐 注:每人基本分 60 分起,学期末核算总分,作为学期评先依据。