1、JAVA语言程序设计期末考试模拟试题(一)一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. .java B. .class C. .html D. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint
2、( )4、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected5、为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必须是 javac.exe 类的子类并且存储该源程序文件的文件名为 .class 。3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 字节内存空间。5、设 x = 2 ,则表达式 ( x + + )3 的值是
4、 。6、若x = 5,y = 10,则x = y的逻辑值分别为 true 和 false 。7、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。8、创建一个名为 MyPackage 的包的语句是 ,该语句应该放在程序的位置为: 。9、设有数组定义:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70; 则执行以下几个语句后的输出结果是 。 int s = 0 ; for ( int i = 0 ; i MyIntArray.length ; i + + ) if ( i
5、% 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 ; System.out.println( sum=+sum ); 2、 i
6、mport 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( ); 3、 import java.awt.*; public class abc public static void main(String args) new FrameOut(); class FrameOut extends
7、Frame / Frame为系统定 Button btn; / 义的窗框类 FrameOut( ) super(按钮); btn = new Button(按下我); setLayout(new FlowLayout( ); add(btn); setSize(300,200); show( ); 4、import java.io.*; public class abc public static void main(String args) SubClass sb = new SubClass( ); System.out.println(sb.max( ); class SuperClas
8、s int a = 10 , b = 20 ; class SubClass extends SuperClass int max( ) return (ab)?a:b); 四、写出下面程序的运行结果(每小题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
9、str1 , String str2 ) s1 = str1; s2 = str2; public String toString( ) return s1+s2;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.
10、println(s=+s); 3、import java.io.* ; public class abc public static void main(String args ) ) System.out.println(a=+a+nb=+b); class SubClass extends SuperClass int c; SubClass(int aa,int bb,int cc) super(aa,bb); c=cc; class SubSubClass extends SubClass int a; SubSubClass(int aa,int bb,int cc) super(a
11、a,bb,cc); a=aa+bb+cc; void show() System.out.println(a=+a+nb=+b+nc=+c); 五、使用Java语言编写程序。(每小题10分,共20分)1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。2、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。 复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分Imag
12、inPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ) : 构造函数,将复数的实部和虚部都置0Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。JAVA语言程序设计期末考试模拟试题(二)一、单选择题(每小题1分,
13、共12分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. .java B. .class C. .html D. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 yxyz 的值是( )。 A. 3 B. 6 C. 4 D. 53、在Java Applet程序main方法中,正确的参数是: A. main(string args) B. main(String ()args ) C. main(String args) D. main(string args )4、不允许作为类及类成员的访问控制符的是( )
14、。 A. public B. private C. static D. protected5 、JAVA对象主要属性有: ( )。 A. 状态与行为 B. 抽象和封装 C. 继承与多态 D. 可重用和可扩展6、如下哪些字串是Java中的标识符( )? A、fieldname B、super C、3number D、#number7、已知如下定义:String s = story;下面哪个表达式是合法的( )? A、 s += books; B、char c = s1; C、int len = s.length; D、String t =s+abc8、Java中main()函数的返回值是什么(
15、)? A、String B、int C、char D、void9、如下哪些字串是Java中的标识符( )? A、fieldname B、String C、3number D、#number10、如下哪些是Java中有效的关键字( )? A、i B、hello C、false D、good11、如下哪些是Java中正确的整数表示( )? A、22 B、22.0 C、-22.03 D、22H12、下面的代码段中,执行之后count的值是什么( )?int count=1;for(int i=1;i=5;i+) count=count+i; System.out.println(count); A、
16、5 B、1C、15 D、16二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为 、 和 。2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名为 。3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 字节
17、内存空间。5、设 x = 2 ,则表达式 ( x + + )3 的值是 。6、若x = 5,y = 10,则x = y的逻辑值分别为 和 。7、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。8、创建一个名为 MyPackage 的包的语句是 ,该语句应该放在程序的位置为: 。9、执行以下几个语句后的输出结果是 。String s = “This one” , s1=”This two”; int i=5if (i10) System.out.print(s) ; else System.out.print(s1)
18、; 10、在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。三、简答题。(每小题8分,共40分)1. 对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?2. 面向对象的程序程序方法有哪些优点?3. 简述安装及配置Java运行环境的步骤过程。4. 什么是继承?什么是父类?什么是子类?5. 什么是异常?Java为什么要引入异常处理机制?四、使用Java语言编写程序。(1-2小题各5分,3-4题各9分共28分)1、编写一个完整的Java Applet 程序,程序功能为:在屏幕上输出“欢迎光临JAVA世界!”的字符串信息。2、编写一个完整的JavaApple
19、t,使之能够在浏览器中显示“Welcome to Java Applet World!”的字符串信息。3、编写一个字符界面的Java Application 程序,接受用户输入的1个整数,并在屏幕中输出这个整数。4、编写一个完整的Java Application 程序,计算30!的值,在屏幕中输出结果。JAVA语言程序设计期末考试模拟试题(三)一、 判断题一1Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。2对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。3有的类定义时可以不定义构造函数,所以构造函数不是必需的。4类及其
20、属性、方法可以同时有一个以上的修饰符来修饰。5Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 6抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。7Final类中的属性和方法都必须被final修饰符修饰。8最终类不能派生子类,最终方法不能被覆盖。9子类要调用父类的方法,必须使用super关键字。10一个Java类可以有多个父类。11如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。12一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。13当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。1
21、4接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。15用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。16使用方法length( )可以获得字符串或数组的长度。17设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”);后String对象s的内容为”Hello world!”,所以语句输出为Hello world!18创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。19所有的鼠标事件都由MouseListener监听接口的监听者来处
22、理。20一个容器中可以混合使用多种布局策略。 21Java中,并非每个事件类都只对应一个事件。22 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个 Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。23Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。24Java Applet是由独立的解释器程序来运行的。25Java Applet只能在图形界面下工作。26Java的字符类型采用的是ASCII编码。27J
23、ava的各种数据类型占用固定长度,与具体的软硬件平台环境无关 28Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。29子类的域和方法的数目一定大于等于父类的域和方法的数目。30System类不能实例化,即不能创建System类的对象。31用户自定义的图形界面元素也可以响应用户的动作,具有交互功能32Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。33Vector类中的对象不能是简单数据类型。34Java中的String类的对象既可以是字符串常量,也可以是字符串变量。35容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。 二、 选择题
24、1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( )A 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B 可以被两种类访问和引用:该类本身、该类的所有子类C 只能被该类自身所访问和修改D 只能被同一个包中的类访问 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D只能被同一个包中的类访问3、关于被保护访问控制符protected修饰
25、的成员变量,以下说法正确的是( )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D只能被同一个包中的类访问4、下列关于修饰符混用的说法,错误的是( )A abstract不能与final并列修饰同一个类B abstract类中不可以有private的成员C abstract方法必须在abstract类中D staic方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是( )A、BorderLayout B、FlowLayout C、GridLayo
26、ut D、CardLayout6、以下标识符中哪项是不合法的( )A、 BigMeaninglessName B、$intC、1 st D、$17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )A、 public static void main() B、public static void main(String args)C、 public static int main(String arg)D、public void main(String arg )8、执行完以下代码int x = new int25;后,以下哪项说明是
27、正确的( )A、x24为0 B、x24未定义 C、x25为0 D、x0为空9、以下代码段执行后的输出结果为( ) int x=3; int y=10; System.out.println(y%x);A、0 B、1 C、2 D、310、以下哪个表达式是不合法的( )A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&(x.length()0) ? x.length :
28、 011、编译运行以下程序后,关于输出结果的说明正确的是 ( ) public class Conditional public static void main(String args ) int x=4; System.out.println(“value is “+ (x4) ? 99.9 :9);A、输出结果为:value is 99.99 B、输出结果为:value is 9C、输出结果为:value is 9.0 D、编译错误12、以下声明合法的是( )A、default String s; B、public final static native int w( )C、abstra
29、ct double d; D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是( )1 class StaticStuff2 3 static int x=10;4 static x+=5;5 public static void main(String args )6 7 System.out.println(“x=” + x);8 9 static x/=3;10. A、 4行与9行不能通过编译,因为缺少方法名和返回类型 B、 9行不能通过编译,因为只能有一个静态初始化器C、 编译通过,执行结果为:x=5
30、D、 编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是( )1 class HasStatic2 private static int x=100;3 public static void main(String args )4 HasStatic hs1=new HasStatic( );5 hs1.x+;6 HasStatic hs2=new HasStatic( );7 hs2.x+;8 hs1=new HasStatic( );9 hs1.x+;10 HasStatic.x- -;11 System.out.println(“x=”+x);12 13 A、 5行不能通过
31、编译,因为引用了私有静态变量B、 10行不能通过编译,因为x是私有静态变量C、 程序通过编译,输出结果为:x=103D、 程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是( )A、 while (int i7) i+; System.out.println(“i is “+i);B、 int j=3;while(j) System.out.println(“ j is “+j);C、 int j=0;for(int k=0; j + k !=10; j+,k+) System.out.println(“ j is “+ j + “k is”+ k);D、 int j=0;d
32、o System.out.println( “j is “+j+); if (j = = 3) continue loop; while (j10);16、类Test1定义如下:1public class Test12 public float aMethod(float a,float b) 3 4 将以下哪种方法插入行3是不合法的。( )A、 public float aMethod(float a, float b,float c) B、 public float aMethod(float c,float d) C、 public int aMethod(int a, int b) D
33、、 private float aMethod(int a,int b,int c) 17、类Test1、Test2定义如下:1 public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public class Test2 extends Test16 7 将以下哪种方法插入行4是不合法的。( )A、 float aMethod(float a,float b) B、 public int aMethod(int a,int b)throws Exception C、 public float aMethod(float p,float q) D、 public int aMethod(int a,int b)throws IOException 18、关于以下程序段,正确的说法是( ) 1 String s1=”abc”+”def”;2 String s2=new String(s1);3 if(s1= =s2)4 System.out.println(“= = succeeded”);5 if (s1.equals(s2)6 System.out.println(“.equals() succeeded”);A、行4与行6都将执行