1、JAVA语言复习题 一、典型单选题样例 1. 下列程序执行后将有( C )个字节被写入到文件myfile.txt中 import java.io.*; public class Test { public static void main(String[] args){ try{ FileOutputStream fos=new FileOutputStream("myfile.txt"); DataOutputStream dos=new Dat
2、aOutputStream(fos); dos.writeInt(8); //1个int型数是4个字节 dos.writeChar(6); //1个char(字符)型数是2个字节 dos.writeChars("abc"); //3个字符型数是6个字节 dos.close(); fos.close( ); }catch(IOException e) { } } } (A) 6 (B) 8 (C) 12 (D) 不确定,与软硬件
3、环境相关 2. 阅读下面的代码片断 (1) String str = null; (2) if ((str != null) && (str.length() > 20)){ (3) System.out.println("aaa"); (4) } (5) else if ((str != null) & (str.length() < 10)){ (6) System.out.println("bbb"); (7) } (8) else { System.out.println("ccc"); } 导致异常的行号是( C )
4、A) 1 (B) 2 (C) 5 (D) 8 ——因为串对象不存在,故没有长度,并且&与&&不同,它不是短路逻辑与 3. 下列程序的输出结果是 ( D ) class Test{ static void change(String s){ s=s.replace('c','e'); } public static void main(String args[]){ String s="abcd"; change(s); System.out.println(s);
5、 } } (A) 编译错误 (B) abed (C) 运行时出现异常 (D) abcd ——方法参数传递是单向传递,只从形参到实参 二、实践题(编程题) 1. 程序功能:创建一个能装5个(棵)蔬菜的篮子,蔬菜有番茄、椰菜和大白菜,从篮子中一个一个把蔬菜拿出来,并打印出该蔬菜的名称。 提示1:用数组来表示菜篮子。 提示2:创建蔬菜类,该类中有一个抽象方法GetName,用来输出蔬菜的名称。 提示3:分别创建蔬菜类的3个子类:番茄、椰菜和大白菜类,分别实现GetName方法。 程序架构如下: public class Tes
6、t2 { public Test2() { } public static void main(String[] args){ 蔬菜[] vegs = new 蔬菜[5]; vegs[0] = new 番茄(); vegs[1] = new 椰菜(); vegs[2] = new 大白菜(); vegs[3] = new 番茄(); vegs[4] = new 椰菜(); for(int i=0;i<5;i++){ System.out.println(vegs[i].
7、GetName()); } } } //定义蔬菜抽象类: 蔬菜 //定义蔬菜类的3个子类: 番茄、椰菜、大白菜 备注:按系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。 例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应的字节码文件为:Test1.class。 2. 程序功能:定义一个Student类,其属性包括学号(StudentNo),姓名(Name),联系电话(Phone),家庭地址(Address)。创建若干个该类的对象并保存到文件中。程序再从文件循
8、环读取对象直至文件末尾,并将每个对象的属性显示在屏幕上。 提示1:使用对象流类实现对象数据的读写功能。 提示2:循环读取文件中的对象,通过捕获EOFException异常来判断是否文件末尾。 提示3:文件命名为“Student.dat” 提示4:提示架构如下: import java.io.*; public class Test3 { public Test3() { } public static void main(String[] args){ //写3个以上对象到文件 //从文件中循环读对象 } } class
9、 Student implements java.io.Serializable{ String StudentNo; String Name; String Phone; String Address; public Student(String no,String name,String phone,String address){ this.StudentNo = no; this.Name = name; this.Phone = phone; this.Address = address; } } 显示结果如下: 备注:按系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。 例:第一题的试题文件夹名为“1”,文件名为“Test1.java”,对应的字节码文件为:Test1.class。 4






