《java期末试题及答案(共8页).doc》由会员分享,可在线阅读,更多相关《java期末试题及答案(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
2、、不允许作为类及类成员的访问控制符的是( 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程序需要经过的三个主要步骤为编辑源程序 、 编译生成字节码、 和
3、解释运行字节码 。 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、设
4、 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;
5、则执行以下几个语句后的输出结果是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 ;
6、for ( int i = 1 ; i = 100 ; i + + ) sum += 1.0/(double) i ; 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.pr
7、intln( ); 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(30
8、0,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、求两个数的最大值。 四、写
9、出下面程序的运行结果(每小题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
10、! 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
11、 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 ( I
12、OException 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 /
13、*.*/ 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.a
14、wt.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); p
15、ublic 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(); 以上程序运行结果是: A Aclass Aclass B Bclass Bclass C Aclass Bclass D Bclass Aclass 8.下列关于Java线程的说法那些是正确的() A 每一个Java线程可以看成由代码、一个真实的CPU以及数
16、据三部份组成。 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
17、 class X extends Thread implements Runable public void run() System.out.println(this is run(); public static void main(String args) Thread t=newThread(new X(); t.start(); A 第一行会产生编译错误 B 第六行会产生编译错误 C 第六行会产生运行错误 D 程序会运行和启动 11.指出下列程序的运行结果 int i = 9; switch (i) default: System.out.println(default); case
18、 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 D no output displayed那个 12.运行下列程序,会产生什么结果: class Outer1 private int a; void foo(double d,final float f) String s; final boolean b; class
19、 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 c
20、lass SelectSortpublic 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
21、请求时会回应一个hello,对客户端的其他请求不响应。 import java.io.*;import .*; public class HelloServerpublic static void main(String args) throws IOExceptionServerSocket server=null;server = new ServerSocket(8888);Socket ClientSocket = null;ClientSocket = server.accept();String line;BufferedReader is = new BufferedReader
22、(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 T
23、hreadpublic 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 Exceptionnew ThreeTimeThread(first).start(); new ThreeTimeThread(second).start();new ThreeTimeThread(third).start(); 专心-专注-专业
限制150内