欢迎光临
奥鹏作业辅导

南开19秋《Java语言程序设计》课程期末复习资料

来源:奥鹏远程教育   日期: 作者:奥鹏作业辅导

南开19秋《Java语言程序设计》课程期末复习资料满分答案

课程名称   Java语言程序设计  



  名称   Java语言程序设计  
出版社   中国铁道出版社  
作者   清华大学计算机与信息管理中心  
版次   2010年1月第1版  
注:如学员使用其他版本教材,请参考相关知识点
 
一、客观部分(题型包括单项选择题、多项选择题、判断题):
重点参见讲稿第191213章各知识点。
 

南开19秋《Java语言程序设计》课程期末复习资料多选题答案

二、主观部分(总量至少
100,题库中必须包含至少3种主观题型,每种题型总量不超过50题):
(一)、填空题
1、支持 javadoc 命令的注释是        /**...*/       。
2、Java中用于两个数相等比较的运算符是:    = =    。
3、创建类的对象时,使用运算符    new    给对象分配内存空间。
4、定义类的构造方法不能有返回值类型,其名称与__类___名相同。
5、 Java语言中关键字__double___表示双精度类型。
6、异常处理是由try、     catch    和finally块三个关键所组成的程序块。
7、接口中的成员只有静态常量和___抽象方法___。
8、在子类中使用关键字___ super  ____做前缀可调用被子类覆盖的父类中的方法。
9、Java程序中的多行注释符是        /* */       。
10、Java中用于用于不相等比较的运算符是     <>      。
11、在Java中定义一个字符串类型的变量str的语句是:    String str;    。
12、导入mypackage包中的所类的命令是    import mypackage.*;     。
13、当声明一个数组int arr[] = new int[5]; 时,数组的大小为  5   ,数组元素下标的使用范围是 0到4  。
14、假设x=13,y=4,则表达式x%y != 0的值是    true     。
15、异常处理是由 try 、 catch 和  finally  块三个关键所组成的程序块。
16、Java程序中的单行注释符是     //      。
17、若有定义:float b={1.1f, 3.5f, 6.8f};,则b.length()的值是___3____。
18、若有类定义:
class B extends A{
 …
}
则类B是类A的___子类___。
19、关键字___ import  ___用于导入包中的类到程序中,供程序中使用。
20、Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的__ catch  ___块来捕获和处理异常。
21、构造方法是一种特殊的成员方法,构造方法名与     类名      相同。
22、Java语言只允许单继承,指每个类只能有一个     父类     。
23、Java源程序的扩展名是      .java     。
24、Java语言中的浮点型数据根据数据存储长度和数值精度不同,分为float和   double    两种类型。
25、创建类对象的运算符是   new     。
26、当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是     n%13==0       。
27、在Java语言中,所有的数组都有一个length属性,这个属性存储了该数组的    元素个数   。
28、定义类就是定义一种抽象的____父类___,它是所有具有一定共性的对象的抽象描述。
29、表达式3/6 * 5的计算结果是       0     。
30、Java的复合数据类型有 : 类、数组和    接口    等。
31、数组x定义为    int x[ ][ ]=new int[3][2] ;
则 x..length 的值为   3     ,x[0].length 的值为    2     。
32、设 x = 2 ,则表达式 ( x + + )/3 的值是     1     。
33、在java语言中,boolean型常量只有true和__false___两个值。
34、在java程序中,用关键字_final_修饰的常量对象创建后就不能再修改了。
35、数据类型包括简单数据类型和复合数据类型。复合数据类型又包括类、数组、__接口_。
36、八进制整数012表示十进制的_10_。
37、定义一个类包括定义类头和定义__类体_两个部分
38、java语言中,调用方法时,参数传递是__值__调用,而不是地址调用
39、java语言通过接口支持_多重_继承,使类继承具有更灵活的扩展性
40、如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的___参数个数__必须是不同的,这种现象称为方法的重载。
41、Throwable类有两个子类:___Error__类和Exception类。
42、对程序语言而言,一般有编译错误和___运行___错误两类。
43、抛出异常、生成异常对象都可以通过___throw__语句实现。
44、java的输入输出流包括__字节流___、字符流、文件流、对象流以及多线程之间通信的管道。
45、java中的非字符输出流都是___OutputStream___抽象类的子类。
46、java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是__过滤流___。
47、java中的字符输出流都是抽象类__Writer______的子类。
48、DataOutputStream数据流向文件里写数据的方法为__write()__。
49、RandomAccessFile所实现的接口是__DataInput接口__和DataOutput接口.
50、文件类__File_是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能。
 
(二)、简答
1、基本类型变量与引用型变量有何区别?(p31)
★考核知识点:变量
参见讲稿章节:2-1
2、什么静态变量?什么是静态方法?一般通过什么方式访问静态变量和静态方法?(p119,p123)
★考核知识点:变量
参见讲稿章节:2-1
3、什么是抽象类?什么是抽象方法?它们在面向对象程序设计中的作用是什么?(p126-128)
★考核知识点:抽象类与抽象方法
参见讲稿章节:7-6
4、如何引用包中的某个类?如何引用整个包?请各举一个例子说明。(p133-134)
★考核知识点:包
参见讲稿章节:2-1
5、什么是字节流?什么是字符流?(p209)
★考核知识点:文件与流
参见讲稿章节:9-1
6、简述方法参数传递的两种情况。(p83)
★考核知识点:带参数的方法
参见讲稿章节:3-8
7、什么是异常?Java语言为什么要引入异常处理机制?(p184)
★考核知识点:异常处理
参见讲稿章节:4
8、什么是方法重载,方法重载有什么好处。(p86)
★考核知识点:方法重载
参见讲稿章节:6-3
9、什么是类的继承?继承机制的好处是什么?(p99-100)
★考核知识点:继承
参见讲稿章节:7-1
10、什么是封装?在面向对象程序设计中如何实现封装?(p69)
★考核知识点:封装
参见讲稿章节:6-1
11、什么是接口?为什么要定义接口?接口与类有何异同?(p143,p146)
★考核知识点:接口
参见讲稿章节:8-1
12、用户为什么要定义异常?用户程序如何定义异常?(p187)
★考核知识点:异常
参见讲稿章节:4-1
13、Java的基本数据类型有几种?Java字符采用何种编码方案?(p20-21)
★考核知识点:数据类型
参见讲稿章节:2-1
14、为什么catch块要紧跟在try块后面?每个catch块可以处理几种异常?如果try块中可能产生多种异常,应如何分别处理不同的异常?(p195)
★考核知识点:异常
参见讲稿章节:4-2
15、输入流和输出流在Java程序的I/O操作中各承担什么功能?(p206)
★考核知识点:文件与流
参见讲稿章节:9-1
16、简述Java语言的几个主要特点(p2)
★考核知识点:Java特点
参见讲稿章节:1-2
17、什么是基本数据类型的“数据包裹类”?使用包裹类有什么好处?(p29)
★考核知识点:包装类
参见讲稿章节:12-1
18、用户自定义异常时,一般需要完成哪些工作?(p187)
★考核知识点:异常
参见讲稿章节:4-2
19、构造方法的主要特点有哪些?(p90)
★考核知识点:构造方法
参见讲稿章节:6-2
20、Java语言各种标识符的基本命名规则有哪些?(p14)
★考核知识点:标识符
参见讲稿章节:2-1
21、什么是方法重载?
★考核知识点:方法重载
参见讲稿章节:6-3
22、什么是构造方法?
★考核知识点:构造方法
参见讲稿章节:6-2
23、抽象类和接口有什么区别?
★考核知识点:抽象类
参见讲稿章节:7-6
24、子类能继承父类的哪些变量和方法?
★考核知识点:继承
参见讲稿章节:7-1
25、什么是I/O流?
★考核知识点:
参见讲稿章节:
26、构造方法能否被重写?为什么?
★考核知识点:构造方法
参见讲稿章节:6-2
27、使用 BufferedReader 读文本文件的主要步骤有哪些?
★考核知识点:读文件
参见讲稿章节:9-3
28、进程和线程的主要区别是什么?
★考核知识点:线程
参见讲稿章节:13-1
29、线程的基本状态有哪些?
★考核知识点:线程状态
参见讲稿章节:13-1
30、Java语言如何创建线程?
★考核知识点:线程创建
参见讲稿章节:13-2
31、JAR文件有哪些优势?
★考核知识点:JAR文件
参见讲稿章节:12-5
32、使用 BufferedWriter 写文件的主要步骤有哪些?
★考核知识点:写文件
参见讲稿章节:9-4
33、使用 DataInputStream 读二进制文件的主要步骤有哪些?
★考核知识点:二进制文件读写
参见讲稿章节:9-5
34、使用 DataOutputStream写二进制文件的主要步骤有哪些?
★考核知识点:二进制文件读写
参见讲稿章节:9-5
35、方法覆盖的应用场合有哪些?
★考核知识点:方法覆盖
参见讲稿章节:7-3
36、方法覆盖有哪些注意事项?
★考核知识点:方法覆盖
参见讲稿章节:7-3
37、构造方法有哪些特点?
★考核知识点:构造方法
参见讲稿章节:6-2
38、简要介绍Java的内存回收技术。
★考核知识点:Java特点
参见讲稿章节:1-2
39、什么是DAO模式 ?
★考核知识点:DAO模式
参见讲稿章节:11-5
40、DAO模式的作用是什么?
★考核知识点:DAO模式
参见讲稿章节:11-5
41、DAO模式有哪些组成部分?
★考核知识点:DAO模式
参见讲稿章节:11-5
42、分层开发的好处有哪些?
★考核知识点:分层开发
参见讲稿章节:11-6
43、简介面向接口的编程思想。
★考核知识点:面向接口的编程思想
参见讲稿章节:8-2
44、简介Java建立基于套接字的服务器程序的主要步骤。
★考核知识点:套接字编程
参见讲稿章节:14-2
45、简介Java建立基于套接字的客户端程序的主要步骤。
★考核知识点:套接字编程
参见讲稿章节:14-2
46、简介Java建立基于数据报通信的服务器程序的主要步骤。
★考核知识点:套接字编程
参见讲稿章节:14-2
47、简介Java建立基于数据报通信的客户端程序的主要步骤。
★考核知识点:套接字编程
参见讲稿章节:14-2
48、类的组合与继承的区别是什么?
★考核知识点:类的组合
参见讲稿章节:7-7
49、抽象类存在的意义是什么?
★考核知识点:抽象类
参见讲稿章节:7-6
50、Java语言程序为什么需要包?
★考核知识点:包的应用
参见讲稿章节:12-3
 
(三)、编程
1、程序接收用户输入的10个整数,比较并输出其中的最大值和最小值。
★考核知识点:循环
参见讲稿章节:2-6
2、程序接收用户输入的一个1~12之间的表示月份的整数(如果输入的数据不满足这个条件则要求用户重新输入),利用switch语句输出对应月份的天数(假定2月固定为28天)。
★考核知识点:开关语句
参见讲稿章节:2-5
3、定义一个学生类Student,属性包括学号(sno)、姓名(sname)、性别(sex)、年龄(age);方法除要定义一个构造方法外,还要定义“获取学号(getSno)”、“获得姓名(getName)”、“获得性别(getSex)”、“获得年龄(getAge)”、和“修改年龄(setAge)”方法。然后编写一个测试程序,访问Student类的属性和方法。
★考核知识点:类和对象
参见讲稿章节:3
4、为Student类定义个方法public String toString(),把学生类对象的所有域信息组合成一个字符串返回。编写一个测试程序验证该方法。
★考核知识点:类和对象
参见讲稿章节:3
5、为Student类编写3个不同参数的构造方法,并进行测试。
★考核知识点:构造方法
参见讲稿章节:6-2
6、定义一个Shape接口,其中包括两个抽象方法setColor(String clr)和getColor(),以及一个显示图形面积的抽象方法showArea();然后定义2个具体的图形类:Circle类、Square类,并为这些类定义各自的属性、构造函数。它们都实现Shape接口。并实现接口的抽象方法。最后编写测试程序进行测试。
★考核知识点:接口
参见讲稿章节:8-1
7、定义一个Shape类,其中包括一个color属性及设置和获得color属性的两个方法setColor()和getColor(),然后定义Shape类的2个子类,及Circle类、Square类,并为这些类定义各自的属性、构造函数集计算面积的方法。编写测试程序,注意测试有关继承的内容。
★考核知识点:继承
参见讲稿章节:7-1
8、定义一个Student类,除基本内容外,还要顶一个静态变量s_count,作为创建对象的计数器,再定义一个静态方法getCount(),该方法返回静态变量的值。编写测试程序,创建若干个Student类的对象,然后通过访问Student类的静态变量s_count和静态方法getCount(),获取创建对象的数目。
★考核知识点:类和对象
参见讲稿章节:3
9、求 2/1+3/2+5/3+8/5+13/8.....前20项之和。
★考核知识点:循环
参见讲稿章节:2-6
10、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
★考核知识点:循环
参见讲稿章节:2-6
11、按以下要求编写程序
(1) 编写Computer接口,接口中声明poweron() 方法
(2) 定义PC类和Laptop类实现Computer接口
(3) 编写PC类和Laptop类的测试程序,并调用其中的poweron()方法
★考核知识点:接口
参见讲稿章节:8-1
12、求一个3*3矩阵对角线元素之和。
★考核知识点:循环
参见讲稿章节:2-6
13、产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是?
★考核知识点:循环
参见讲稿章节:2-6
14、按以下要求编写程序
(1) 编写Animal接口,接口中声明run() 方法
(2) 定义Bird类和Fish类实现Animal接口
(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法
★考核知识点:接口
参见讲稿章节:8-1
15、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这 10 个整数。
★考核知识点:数组
参见讲稿章节:5-3
16、对数组 a 的数据进行升序排序,然后输出排序后的结果。
★考核知识点:数组
参见讲稿章节:5-3
17、按以下要求编写程序
(1) 创建一个Rectangle类,添加width和height两个成员变量
(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积
(3) 编程利用Rectangle输出一个矩形的周长和面积
★考核知识点:雷和对象
参见讲稿章节:3
18、编程求第n个斐波那契数列的值。斐波那契数列是这样的一组数:数列的第一项、第二项都是1,往后各项的值均为其前两项值之和,即Fn=Fn-1+Fn-2。
★考核知识点:循环
参见讲稿章节:2-6
19、程序输出整数1~9的平方表和算法平方根表。
★考核知识点:
参见讲稿章节:
20、随机生成10个浮点数,将这些数据输出至屏幕,并找出其中最大的数,显示其值和位置。
★考核知识点:循环
参见讲稿章节:2-6
21、程序接受键盘输入的字符串,并判断该字符串是否回文。回文是指一个字符串自左向右读和自右向左读完全一样。
★考核知识点:字符串
参见讲稿章节:5-5
22、程序读入一个字符串,然后将其中的大写字母改写为小写字母,最后输出结果。
★考核知识点:字符串
参见讲稿章节:5-5
23、程序读入一个字符串,然后将该字符串中的字符按字典序排序,最后输出结果。
★考核知识点:字符串
参见讲稿章节:5-5
24、按以下要求编写程序
(1) 创建一个Animal类,添加legs成员变量
(2) 在Animal中添加getLegs和setLegs方法分别获取和设置legs成员变量的值
(3) 编程测试所编写的Animal类
★考核知识点:类和对象
参见讲稿章节:3
25、按以下要求编写程序
(1) 创建一个SimpleDate类,添加year、month和day成员变量
(2) 为SimpleDate类编写构造函数和toString方法
(3) 编程测试所编写的SimpleDate类
★考核知识点:类和对象
参见讲稿章节:3
26、按以下要求编写程序
(1) 创建一个Employee类,添加name、age和salary成员变量
(2) 为Employee类编写构造函数和toString方法
(3) 编程测试所编写的Employee类
★考核知识点:类和对象
参见讲稿章节:3
27、编写程序判断用户输入的数是否为素数。
★考核知识点:循环
参见讲稿章节:2-6
28、编写程序判断用户输入的自然数是否为完全数。如果一个自然数的所有真因子(即除了自身以外循环的约数)的和恰好是它本身,则这个数成为完全数。
★考核知识点:循环
参见讲稿章节:2-6
29、编写程序随机生成若干浮点数,然后将这些数据输出到屏幕上;找出其中最大的数,并显示它的值及位置。
★考核知识点:循环
参见讲稿章节:2-6
30、声明一个圆柱体类,并在圆柱体类中声明一个计算体积的实例方法,并编写测试圆柱体类的主类。
★考核知识点:类和对象
参见讲稿章节:3
31、应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:C:/java/Hello.java)
★考核知识点:读文件
参见讲稿章节:9-3
32、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
★考核知识点:字符串
参见讲稿章节:5-5
33、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
★考核知识点:循环
参见讲稿章节:2-6
34、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。
★考核知识点:文件读写
参见讲稿章节:9-5
35、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
★考核知识点:循环
参见讲稿章节:2-6
36、将一个数组逆序输出。
★考核知识点:数组
参见讲稿章节:5-3
37、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
★考核知识点:循环
参见讲稿章节:2-6
38、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
★考核知识点:循环
参见讲稿章节:2-6
39、一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数。
★考核知识点:循环
参见讲稿章节:2-6
40、输入两个正整数m和n,求其最大公约数和最小公倍数。
★考核知识点:循环
参见讲稿章节:2-6
(四)、看程序写结果
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;
  public 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 ( a[i]%3 = = 0 )  s += a[i] ;
               System.out.println("s="+s);
           }
     }
运行结果:s = 180
 
3import 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(aa, bb, cc);
           A = aa+bb+cc;
        }
       void show()
       { 
System.out.println("a="+a+"\nb="+b+"\nc="+c); 
}
  }
运行结果:a=60
               b=20
               c=30
4以下程序的输出结果为     相等      。
class StringTest1
{
       public static void main(String[] args)
       {
              String s1="hello";
              String s2=new String("hello");
              if(s1.equals(s2)){
                     System.out.println("相等");
              }else{
                     System.out.println("不相等");
              }
       }
}
 
5以下程序段的输出结果为     5  6  7  8  9      。
public class TestArray
{
    public static void main(String  args[ ]){ 
           int  i , j ;
              int  a[ ] = { 5,9,6,8,7};
            for  ( i = 0 ; i < a.length-1; i ++ ) {
                   int  k = i;
                   for  ( j = i ; j < a.length ;  j++ )
                          if  ( a[j]<a[k] )  k = j;
                   int  temp =a[i];
                   a[i] = a[k];
                   a[k] = temp;
            }
            for  ( i =0 ; i<a.length; i++ )
                          System.out.print(a[i]+"  ");
       System.out.println( );
   }
}
 
6阅读以下程序,写出输出结果。
class  Animal {
  Animal() {
    System.out.print ("Animal  ");  }
}
public 
class  Dog  extends  Animal {
 Dog() {
    System.out.print ("Dog ");  }
 
 
  public static void main(String[] args) {
    Dog  snoppy= new  Dog();  }
}
输出结果:Animal   Dog
 
7以下程序的输出结果为_ Peter is 17 years old!___。
public class Person {
       String name;
       int age;
 
       public Person(String name, int age) {
              this.name = name;
              this.age = age;
       }
 
       public static void main(String[] args) {
              Person c = new Person("Peter", 17);
              System.out.println(c.name + " is " + c.age + " years old!");
       }
}
 
8以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___。
public class Course {
       private String cNumber;
       private String cName;
       private int cUnit;
 
       public Course(String number, String name, int unit) {
              cNumber = number;
              cName = name;
              cUnit = unit;
       }
 
       public void printCourseInfo() {
              System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit);
       }
}
 
class CourseTest {
       public static void main(String[] args) {
              Course c;
              c = new Course("101", "ASP", 3);
              c.printCourseInfo();
       }
}
 
9以下程序的输出结果为__汤姆猫体重:20.0___。
public class Tom {
       private float weight;
       private static String name;
 
       public void setWeight(float weight) {
              this.weight = weight;
       }
 
       private void out() {
              System.out.println(name + "体重:" + weight + "斤");
       }
 
       public static void main(String[] args) {
              Tom.name = "汤姆猫";
              Tom cat = new Tom();
              cat.setWeight(20);
              cat.out();
       }
}
 
10下列程序的运行结果是__12345____。
public class MyClass {
       int a[] = { 1, 2, 3, 4, 5 };
 
       void out() {
              for (int j = 0; j < a.length; j++)
                     System.out.print(a[j] + "");
       }
 
       public static void main(String[] args) {
              MyClass my = new MyClass();
              my.out();
       }
}
 
 

南开19秋《Java语言程序设计》课程期末复习资料历年参考题目如下:

扫描二维码获取答案

热门文章

猜你喜欢

  • 北语23春《日本经济》作业3[正确答案]

  • 23春《日本经济》作业3 试卷总分:100 得分:100 一、单选题 (共 15 道试题,共 75 分) 1.日本金融制度经过改革,形成新的体系,具有六大特征:长期金融和短期