1、JAVA 程序设计期末模拟试题一、单选1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。A. .java B. .classC. .html D. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( )。A. 3 B. 3. 5C. 4 D. 53、在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的( )方法来完成一些画图操作。A. start( ) B. stop( )C. init( ) D. paint( )4、不允许作为类及类成员的访问控制符的是( )。
2、A. public B. privateC. static D. protected5、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为( )。A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )二、填空1、开发与运行 Java 程序需要经过的三个主要步骤为 、和 。2、如果一个 Java Applet 源程序文件只定义有一个类,该类的类名为 MyApplet,则类My
3、Applet 必须是 类的子类并且存储该源程序文件的文件名为 。3、如果一个 Java Applet 程序文件中定义有 3 个类,则使用 Sun 公司的 JDK 编译器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。4、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占用 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 字节内存空间。5、设 x = 2 ,则表达式 ( x + + )3 的值是 。6、若 x = 5,y = 10,则 x = y 的逻辑值分别为 和 。7、 方法是一种仅有方法头,没有具体方法体和
4、操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。8、创建一个名为 MyPackage 的包的语句是 ,该语句应该放在程序的位置为: 。9、设有数组定义:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70; 则执行以下几个语句后的输出结果是 。int s = 0 ;for ( int i = 0 ; i = 0 ; i )System.out.print(ai+“ “);System.out.println( );3、import java.io.*;public class abc public static
5、 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); 四、写出下面程序的运行结果1、 import java.io.*;public class abc public static void main(String args ) AB s = new AB(“Hello!“,“I
6、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;2、 import java.io.* ;public class abcpublic static void main(String args ) int i , s = 0 ;int a = 10 , 20 , 30 , 40 , 50 , 60 , 70 ,
7、 80 , 90 ;for ( i = 0 ; i a.length ; i + )if ( ai%3 = = 0 ) s += ai ; System.out.println(“s=“+s);五、改错判断下面的程序段是否正确。若有错,指出错在哪里并改正1class Test1 int x;abstract int getX( );2class A private long pw;class Test2 extends A int getPW() return pw; 3public static void main(String args ) char ch=c;try ch=System.
8、in.read();/省略其余代码catch(Exception e) return; catch(IOException e)System.out.println(e.toString();4public class Test4 int i;void Test4(int i) this.i=i; void printi( int i ) System.out.println(i); 六、程序设计1、编写一个完整的 Java Application 程序。该程序包含类Person、Student 、TestStudent,具体要求如下:(1)类 Person属性name : String 对象
9、,表示一个人姓名sex: char 类型,用来表示性别id:String 对象,表示身份证号phone:String 对象,表示联系电话email :String 对象,表示 E-mail 地址 方法Person(Name name, char sex, String id):构造函数String getId() :获得身份证号void setEmail(String email) :设置 E-mail 地址void setPhone(String phone) :设置联系电话public String toString() :返回个人的各项信息,包括姓名、性别等上述属性(2)类 Studen
10、t从 Person 类派生,增加了以下属性和方法:属性sNo: long 类型,表示学生的学号sClass: String 对象,表示学生的班级方法Student(long sNo, String name, char sex, String id):构造函数setClass(String sClass): 设置学生的班级信息public String toString() :返回学生的各项信息,包括学号、班级、姓名等上述属性(3)类 TestStudent 作为主类要完成测试功能2、用冒泡法对 8 个数从小到大排序。JAVA 程序设计期末考试模拟试题参考答案及评分标准一、单选择题1、B 2、
11、A 3、D 4、C 5、A二、填空题1、编辑源程序、编译生成字节码、解释运行字节码2、Applet、MyApplet3、javac.exe、3、 . class4、2 、25、06、true 、 false7、抽象(abstract)方法、最终(final)方法8、package MyPackage ; 应该在程序第一句。9、12010、单、多三、写出下列程序完成的功能。1、计算 1/1+1/2+1/3+.+1/100 的值。2、从标准输入(即键盘)读入 10 个整数存入整型数组 a 中,然后逆序输出这 10 个整数。3、求两个数的最大值。四、写出下面程序的运行结果1、Hello!I love
12、 JAVA.2、s = 180五、改错题1错。具体类中包含了抽象方法。class Test1 int x;abstract int getX( ); 2错。私有成员只能被类自身引用。class A private long pw;class Test2 extends A int getPW() return pw; 3错。多个 catch 应将子类放在前面,即 IOException 应该放在 Exception 前。public static void main(String args ) char ch=c;try ch=System.in.read();/省略其余代码catch(IOE
13、xception e) System.out.println(e.toString(); catch(Exception e) return; 4错。构造方法不能定义返回类型。public class Test4 int i;void Test4(int i) this.i=i; void printi( int i ) System.out.println(i); 六、使用 Java 语言编写程序。1、参考程序如下:class Personprotected String name;protected char sex; protected String id; protected Stri
14、ng phone; protected String email; /定义构造方法 Person(String name, char sex, String id) this.name = name;this.sex = sex;this.id = id; /定义方法 String getId()return id; String getName() return name; void setEmail(String email) this.email = email; void setPhone(String phone) this.phone = phone; public String
15、toString() String s = new String( “nt 姓名: “ + name + “nt 性别: “ + sex);if (id != null) s += “nt 身份证号: “ + id;if (phone != null) s += “nt 联系电话: “ + phone;if (email != null) s += “nt 联系 email: “ + email;return s; class Student extends Person/定义属性 long sNo;String sClass;/定义构造方法Student(long sNo, String n
16、ame, char sex, String id) super(name,sex,id);this.sNo=sNo; void setClass(String sClass) this.sClass=sClass; public String toString()String s = new String( “nt 姓名: “ + name + “nt 性别: “ + sex +“nt 学号:“+ sNo );if(sClass!=null) s+=“nt 班级: “+sClass;if (id != null) s += “nt 身份证号: “ + id;if (phone != null)
17、 s += “nt 联系电话: “ + phone;if (email != null) s += “nt 联系 email: “ + email;return s; public class TestStudent public static void main(String args) Student aStudent = new Student(2004001, “王非“, 女,“2202198506070222“);aStudent.setPhone(“88078549“);aStudent.setEmail(““);System.out.println(“student info: “ + aStudent); 2、参考程序见教材 P178 页