注册 登录
查看: 2321|回复: 0
打印 上一主题 下一主题

期末作业练习题

[复制链接]

该用户从未签到

3524

主题

3538

帖子

67万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
673176
QQ
跳转到指定楼层
楼主
发表于 2018-6-18 11:06:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


一、选择题(本大题共10小题,每小题 1分, 共10分)
1.     面向对象程序设计的三大基本特征是( C  )
A. 共享、安全、多态
B. 重用、安全、多态
C. 封装、继承、多态
D. 安全、封装、健壮
2.     关于Java程序设计语言,不正确的说法是( C  )
A.  是一种面向对象的程序
B.  是一种跨平台的程序设计语言
C.  是一种面向方面的程序设计语言
D.  是一种健壮的程序设计语言
3.     关于Java程序中的对象,不正确的说法是(  A )
A.  对象指内存中为它分配的存储其状态的空间
B.  由构造函数创建对象
C.  一个对象中可以包含其它对象
D.  对象的所有方法都可以在类的外部访问
4.     关于类,不正确的是( B )
A.   类的所有的方法只能通过类的实例访问
B.    类是Java语言中用于封装的程序单元
C.    Object是Java语句中所有类的父类
D.   一个Java类可以实现多个接口  
5.     Java中的数组,正确的说法是( B )
A.  一个数组中可以包含不同类型的数据
B.  数组可以静态初始化也可以动态初始化
C.  二维数组中,每个成员的大小必须相同
D.  数组的下标总是从1开始
6.     关于类的静态方法,不正确的是(  C )
A. 静态变量是全局变量
B. 所有Java程序中的main() 方法都是静态方法
C. 静态成员不能通过对象访问
D. 静态方法是指独立于对象的类方法
7.     关于方法的重载与覆盖,正确的是(  A  )
A.  在一个类中,对一个方法只能重载一次
B.  如果在子类中覆盖了父类的一个方法,就不能重载它
C.  不像其它成员函数一样,构造函数不可以重载
D.  Java语言中的多态性主要是通过方法的重载来实现的
8.     Java中的异常,不正确的是( D )
A.  异常是程序运行时的非正常情况
B.  Java程序的健壮性得益于Java系统的异常处理机制
C.  在Java语言中,异常作为一种对象来处理
D.  所有异常都得捕获
9.     关于线程不正确的是( A )
A. 线程是一个运行程序中的一个执行分支
B. 一个Java进程的多个线程有各自的代码区和数据区
C. Java语言对多线程编程提供了良好的支持
D. Java的线程机制提供了一种并行执行手段
10.  关于图形容器不正确的是 ( C )
A. 所有的容器中都可以加入基本组件
B. 图形界面中的组件通过容器来组织
C. 中间容器用来分组管理界面中的基本组件
D. 每个图形界面最多只有一个顶层容器
二、填空题(本大题共15小题,每小题 2分,共30分)
1.       Java程序编译成____文件,然后在___________上___________执行。
2.       Java语言的编译器为____________,执行器为________________。
3.       Java 程序中类成员的访问控制修饰符有_________、________与________。
4.       Java中的一个字节数据、字符数据和整型数据在机器中分别占________位、________位与________位。
5.       从成分类型来看,类中的成员包括___________、___________两大类。
6.       Applet程序是嵌入在__________中的小程序,而且是在 ____________端解释执行的。
7.       在Java语言中,图形用户界面GUI组件可分为_______组件和________组件。
8.       Java语言系统内置的3个可以直接使用的流对象分别是___________、____________、____________。
9.       Java程序中的所有线程类都必须实现接口____Runnable___-------____-------_,其中的方法___run()_______-------__决定了线程的执行行为。
10.   Java程序中声明包的关键字由_______,引入包的关键字是________。
11.   程序填空题
(1)   以下程序需要引入java.util包中所有的类,请在下划线上填入相应的关键字或符号
__import___java.util.*; _____
class Demo {
int x;
public void f() {....}
}
(2) 补充Employee类的构造方法和get方法
public class Employee {
Stringname, sex;
intage;
Stringdepartment;
public Employee (String n, String s, int a,String d) {
   __name____=___n___;
   __sex____=___s___;
   _age_____=___a___;
   ___ department ___=___d___;
    }
  public String getName( ) {  __return name__________ ;  }
  public String getSex( ) {  _____return sex_______ ;  }
public int getAge( ) {  _____return age_______ ;  }
  public void setAge(int a) {______age=a______; }
  public void setDepartment (String d) { ___ department =d_________; }
  }
(3) 对于以下Applet程序和相应的HTML文档,补充缺少的部分
public class DemoApplet extends __ Applet _____ {      
              public void paint(____Graphics ___ g) {            
                     g.drawString("AppletDemo",30,30);           
                     }
              }
<HTML>
   <APPLET  CODE=“__ DemoApplet.class_____” WIDTH=“200”HEIGHT=“100”>
   </ APPLET>
</HTML>
(4) public class Demo {
       publicstatic void main(String[] args) {
       Strings="3000";
       longl=new Long(s). __ longValue_______ ( );
inti=Integer. _____ valueOf____ (s);
      }
}
(5)  public class JFP{
       publicstatic void main(String[] args){
       JFramejf=new JFrame("GUI DEMO");
       JPanelt=new JPanel();
       JLabell1=new JLabel("Label 1");
       JLabell2=new JLabel(" Label 2");
       t.add(l2);
       Containerc=jf.___ getContentPane______();  
       c.add(t,"North");
       c.add(l1,"Center");
       jf.setSize(100,200);
       jf.set___ Visible____(true);
       }
}
三、简答题与程序分析(本大题共5小题,每小题 5分, 共25分)
1.       Java语言的特点有哪些?
答:1、java是目前使用最为广泛的网络编程语言之一
  它不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2、java有许多特性
  java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
  3、java拥有极高的跨平台能力
  java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等与传统的编程语言,如C、C++相比,java能够更加容易上手,而比之微软平台的开发语言,如VB、MFC等,则有着跨平台运行的能力,尽管java没有能够完全实现最初的一次编程、随处运行的口号,但是java相比於其它较早的编程语言,仍然拥有极高的跨平台能力。
  4、java是一个强类型语言
  java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。可靠性方面最重要的增强之一是java的存储模型。
  5、不支持指针消除重写存储和讹误数据的可能性
  java不支持指针,它消除重写存储和讹误数据的可能性。类似地,java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
  6、java的异常处理使得系统更稳定
  异常处理是java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
2.       解释线程的生命周期。
答:线程的生命周期是指线程创建到运行完毕的整个过程。在一个线程的生命周期中,有五个状态分别是:新建、就绪、运行、阻塞和消亡。
3.       图形界面中界面对象的布局有哪几种?
答:FlowLayout 流式布局
BorderLayout 边框式布局
GridLayout 网格布局
CardLayout 卡片布局
GridBagLayout 复杂的网格布局
4.       解释下列成熟型的作用并写出其执行结果:
public class tt {
       publicstatic void main(String[] args) {
    for(int i=1;i<=10;i++)
     {
           for(int j=2; j<=i; j++)
         for(int k=j; k<=i; k++)
         if(i= = j*k)   System.out.print(i+"");
     }
      System.out.println();
     }
  }
答:三层循环判断最外层i是否与内层循环j、k的乘积是否相等,如果相等,输出当前i的值,不相等则跳过,输入结果如下所示:
4 6 8 9 10
5.       分析以下程序在执行过程中分析输入字符A和数字3的执行结果,并解释其原因。
public class Demo {
public static void main(String[] args) {
int i=0;
String[]choise={"A","B","C"};
Scanner cin =new Scanner(System.in);
try {
System.out.println("----Flag 1----");
System.out.println("请输入你的选项(1,2,3)");
i=cin.nextInt();
System.out.println(choise[i-1]);
System.out.println("----Flag 2----");
}
    catch(InputMismatchExceptione) {
      System.out.println("----Flag 3 ----");
      System.out.println("输入数据格式错,要求是整型!");
      System.out.println("----Flag 4 ----");
     }
    catch(ArrayIndexOutOfBoundsExceptione) {
      System.out.println("----Flag 3----");
      System.out.println("数组越界!");
      System.out.println("----Flag 4----");
    }
finally {
System.out.println("----Flag 5----");
System.out.println("执行完毕!");
    }
System.out.println("----Flag 6----");
}
}
答:
输入A效果:
----Flag 1 ----
请输入你的选项(123
A
----Flag 3 ----
输入数据格式错,要求是整型!
----Flag 4 ----
----Flag 5 ----
执行完毕!
----Flag6 ----
输入3效果:
----Flag 1 ----
请输入你的选项(123
3
C
----Flag 2 ----
----Flag 5 ----
执行完毕!
----Flag 6 ----
解释:
上述代码i = cin.nextInt(); 表示接收int类型数据,当输入“A”字符串时,系统会抛出InputMismatchException异常,使用try catch进行捕获异常,程序正常运行,执行finally和后面的程序代码,就输出上述结果。输入数字”3”,程序正常运行。
四、编程题 (每小题7分,计35分)

3.   首先定义一个接口Shape,包含抽象方法double Area()。然后通过实现接口Shape定义类Circle,包括属性圆心坐标x、y和半径r,成员方法包括构造方法、属性的get方法和set方法,计算圆面积的方法Area()。最后在主类的main()函数定义Circle类的对象,并显示对象的所有属性包括面积。
答案:
public interface Shape {
        public double Area();
}
public classCircle implementsShape {
    int x,y,r;
   
    public Circle(int x, int y, int r) {
        this.x = x;
        this.y = y;
        this.r = r;
    }
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
    public int getR() {
        return r;
    }
    public void setR(int r) {
        this.r = r;
    }
    public double Area() {
   
        return x*y*r*r;
    }
     public static void main(String[] args) {
         Shape  s=new Circle(5, 5, 5);
         
         System.out.println("圆面积:"+s.Area());
    }
}
5.   定义两个线程类ThreadA和ThreadB,执行线程时分别显示“I‘m A”和“I‘m B”, 然后在main()函数中创建两个线程的对象,并分别启动两个线程。
public class Threads {
    public static void main(String[] args) {
        Thread one=new Thread(){
        
            public void run() {
                System.out.println("one对象--线程名称:"+Thread.currentThread().getName());
            }
        };
        Thread two=new Thread(){
            @Override
            public void run() {
                System.out.println("two对象--线程名称:"+Thread.currentThread().getName());
            }
        };
        one.start();
        two.start();
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部