| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:《Java程序设计》练习题(二)【含部分答案】
只看楼主 加入收藏
晓婷长月
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2013-6-4
收藏
 问题点数:0 回复次数:1 
《Java程序设计》练习题(二)【含部分答案】
《Java程序设计》练习题(二)【含部分答案】

《Java程序设计》练习题(二)【含部分答案】.rar (47.1 KB)
搜索更多相关主题的帖子: 程序设计 练习题 Java 
2013-06-16 03:05
晓婷长月
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2013-6-4
收藏
得分:0 
《Java程序设计》练习题(二)【含部分答案】
《Java程序设计》练习题(二)
一、填空题(每空1分,共10分)
1、使用Swing编写Applet,则该Applet的主类应该定义为__java.applet.Applet__类的子类。
2、_ Class _类是由Java编译器自动生成的,它伴随每个类。
补充知识:Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。一个类A的getClass()方法返回一个跟类A相关的Class类的实例对象。
3、在运行时,由java解释器自动引入,而不用 import 语句引入的包是_java.lang__。
4、与显示相关的Applet方法有_paint (),repaint()和update()。
5、Applet生命周期方法有init(), _start (),stop()和destroy()。
6、下列程序的功能是创建了一个显示5个“Hello!”的线程并启动运行,请将程序补充完整。
public class ThreadTest extends Thread
{
    public static void main(String args[ ])
    {
        ThreadTest t = new   ___ThreadTest()_  ;
        t.start( );
    }
    public void run()
    {
        int i =0;
        while(true)
        {
            System.out.println("Hello! ");
            if (i++==4)  break ;
        }
    }
}  
7、阅读下列代码段
   int x=3;
   while (x<9)
   x+=2;
   x++;
 while语句成功执行的次数是__3_。
8、在下列程序的下划线处,填入适当语句使程序能正确执行并输出异常栈信息。
   Public class ThrowableException{
   Public static void main(String args[]){
   try{
   throw new Throwable(“这里是本人定义的异常”);
   {catch(Throwable e){
   System.out.println(“Caught Throwable”);
   System.out.println(“e.getMessage():”+e.getMessage());
   System.out.println(“e.toString():”+e.toString());
   System.out.printin(“e.printStackTrace():”);
   _ e.printStackTrace()_;}}}
9、在包中有某个类同时实现了Datainput接口和DataOutput接口,这个类是 _RandomAccessFile__ 。
10、在Java程序中,主线程一般具有 _ NORM_PRIORITY  优先级。
补充知识:Thread源代码里对NORM_PRIORITY (数值为5) 的注释是“线程默认的优先级”,默认的优先级是父线程的优先级。Java程序的主线程(main方法)的优先级默认是为NORM_PRIORITY,这样不主动设定优先级的,后续创建的线程的优先级也都是NORM_PRIORITY了。

二、单项选择题(每小题1分,共20分)
11、下列哪些语句关于内存回收的说明是正确的(  B   )。
A)程序员必须创建一个线程来释放内存
B)内存回收程序负责释放无用内存
C)内存回收程序允许程序员直接释放内存
D)内存回收程序可以在指定的时间释放内存对象
补充知识:垃圾回收机制由JVM自动执行,是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或其值为null时,则此对象适合进行垃圾回收。程序员只能决定一个类在回收时所要做的动作(通过重载Object类的finalize()方法),以及提交JVM触发垃圾回收(通过System.gc(),但不保证会执行垃圾回收)
12、编译和执行一个Java应用程序分别采用的命令是(  B   )。
A)Java和Javac    B)Javac和Java    C)Javap和Java    D)Javac和Jdb
13、容器Panel和Applet缺省使用的布局编辑策略是( B    )。
A)BorderLayout     B)FlowLayout         C)GridLayout         D)CardLayout
14、下列方法中,不属于WindowListener接口的是(  D   )。
  A)windowOpened()        B)windowClosed()
  C)windowActivated()        D)mouseDragged()
15、阅读下列代码
  public  class  Test2005{
  public  static  void  main(Stringargs[]){
  Strings=”Test”;
  Switch(s){
  Case ”Java”:System.Out.print(”Java”);
  break;
  case ”Language”:System.out.print(”Language”);
  break;
  case ”Test”:System.Out.print(”Test”);
  break;}
  }
  }
  其运行结果是(  D   )。
  A)Java        B)Language     C)Test     D)编译出错
16、阅读下列代码
  public class  Test2005{
  publicstaticvoidmain(Stringargs[]){
  System.out.println((3>2)?4:5);
  }
  }
  其运行结果是(  C   )。
  A)2           B)3           C)4         D)5
17、下列关于Applet的说法中,错误的是(   C  )。
  A)Applet自身不能运行,必须嵌入到其它应用程序(如浏览器)中运行
  B)可以在安全策略的控制下读写本地磁盘文件
  C)Java中不支持向Applet传递参数
D)Applet的主类要定义为java。applet。Applet类的子类
补充知识:修改Java_Home\lib\security\java.security文件,并把自己写好的.policy文件放到指定的目录中。只要在.policy文件中进行一定的设置,Applet程序几乎就可以访问本地磁盘里的所有文件了。但是这种方法的最大缺点就是要改客户端Jre的java.security文件。
18、下列命题中,错误的是(   A  )。
  A)Java编程时,要求应尽量多用公共变量
  B)Java编程时,要求应尽量少用公共变量
  C)Java编程时,要求应尽量不用公共变量
D)Java编程时,要求应尽量使用私有变量
19、若特快订单是一种订单,则特快订单类和订单类的关系是(   C  )。
  A)使用关系    B)包含关系    C)继承关系    D)无关系
20、包的File类是(   D  )。
A)字符流类    B)字节流类    C)对象流类    D)非流类
21、Java语言中,负责并发管理的机制是(    D    )。
  A)垃圾回收  B)虚拟机      C)代码安全  D)多线程
22、线程生命周期中正确的状态是(  C   )。
A)新建状态、运行状态和死亡状态        
B)新建状态、运行状态、阻塞状态和死亡状态        
C)新建状态、就绪状态、运行状态、阻塞状态和死亡状态
D)新建状态、就绪状态、运行状态、恢复状态和死亡状态
补充知识:线程在它的生命周期中会处于各种不同的状态:新建、就绪、运行、阻塞、死亡。用new语句创建的线程对象处于新建状态,此时它仅被分配了内存。只有处于就绪状态的线程才有机会转到运行状态。当线程处于阻塞状态时,Java虚拟机不会给线程分配CPU,直到线程重新进入就绪状态,它才会有机会获得运行状态。当线程执行完run()方法中的代码,或者遇到了未捕获的异常,就会退出run()方法,此时就进入死亡状态,该线程结束生命周期。
23、标准输入/输出流中哪个一般是不能被重定向的(  D   )。
A)Standard input  B) Standard output  C) Standard error  D)All of the above
24、Java的核心包中,提供编程应用的基本类的包是(   A  )。
A)java.lang    B)java.util    C)java.applet        D)java.rmi
25、在Applet中显示文字、图形等信息时,应使用的方法是(  A   )。
A)paint()        B)init()        C)start()        D)destroy()
26、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为(  C   )。
A)隐藏           B)覆盖           C)重载       D)Java不支持此特性
27、下列叙述中,错误的是(   C  )。
A)Java Application与Applet所用编译命令相同        
B)通常情况下Java Application只能有一个main方法      
C)Java Applet必须有HTML文件才能运行         
D)Java Applet程序的.class文件可用java命令运行
28、Thread类中能运行线程体的方法是(  D   )。
A)start()        B)resume()        C)init()        D)run()
29、下列不属于Swing中组件的是(   C  )。
     A)Jpanel        B)JTable        C)Menu        D)JFrame
30、下列哪一项不是域的非访问控制符(  C   )。
A)static     B)final     C)volatile     D)public

三、判断题(每小题1分,共10分)
( T )31、Java的各种数据类型占用的内存长度固定,与具体软硬件环境无关。
( F )32、无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一个名为B.class的字节码文件。   
( T )33、静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。
补充知识:静态变量、静态初始化块(器)、变量、初始化块、构造器(构造方法),它们的初始化顺序以此是:静态变量>静态初始化块>变量>初始化块>构造器。
( T )34、即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空。           
( F )35、在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。
( T )36、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。      
( F )37、接口和类一样也可以有继承关系,而且都只能支持单继承。      
( F )38、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。
( F )39、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。  
( T )40、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。     

四、阅读程序,回答问题(每小题2分,共30分)
41、定义类A和类B如下:
class  A
{
    int  a=1;
    double  d=2.0;
    void  show( )
    {
        System.out.println("Class A: a="+a +"\td="+d);
    }
}
class  B  extends  A
{
    float  a=3.0f;               
    String  d="Java program.";   
     void  show( )                  
     {  
        super.show( );      
        System.out.println("Class B:  a="+a +"\td="+d);
     }
}
(1) 若在应用程序的main方法中有以下语句:
A  a=new A();
a.show();
则输出的结果如何?
答:
Class A: a=1    d=2.0
 (2) 若在应用程序的main方法中定义类B的对象b:
A  b=new B();
b.show();
则输出的结果如何?
答:
Class A: a=1    d=2.0
Class B:  a=3.0 d=Java program.

42、
1:   public class A {
2:       public static void main(String args[]) {
3:           int  x=1;
4:           for(int i=1;i<=5;i++) {
5:               if(i%2==0)
6:                   continue;
7:               x*=i;
8:           }
9:           System.out.println("x="+x);
10:       }
11:   }
(1)这是那一类java程序? Application
(2)程序输出的结果是什么?x=15
43、
  import java.util.*;
  class A {
      public static void main(String args[]) {
          TreeSet myTreeSet = new TreeSet();
          myTreeSet.add("x");
          myTreeSet.add("z");
          myTreeSet.add("y");
          myTreeSet.add("a");
          myTreeSet.add("b");
          myTreeSet.add("c");
          Iterator myIter= myTreeSet.iterator();
          while(myIter.hasNext())
              System.out.print(myIter.next());
          System.out.println();
       }
   }
(1) 类TreeSet在哪个包中?java.util.TreeSet
(2) 程序运行后输出的结果是什么?abcxyz
补充知识: HashSet和TreeSet分为位于java.util.HashSet和java.util.TreeSet。Set(集合)的遍历,一般都是使用Iterator(迭代器)。迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。而TreeSet类型是J2EE中唯一可实现自动排序的类型。因此此程序自动进行了排序。常用方法:next()获得序列中的下一个元素。hasNext()检查序列中是否还有元素。remove()将迭代器新返回的元素删除。

44、
1:    public class A {
2:        public static void main(String args[]) {
3:            MyInterface  obj2=new B("B");
4:            obj2.show();
5:        }
6:    }
7:
8:    interface MyInterface {
9:        double G=88;
10:       void show();
11:   }
12:
13:   class B implements MyInterface {
14:
15:       String str;
16:       public B(String s) {
17:           str=s;
18:       }
19:       public void show() {
20:           System.out.println(str+": G="+G);
21:       }
22:   }
 (1) 程序第8--11行定义的MyInterface是类还是接口?
答:接口
 (2) 程序第4行输出的结果是什么?
答:
B:G=88.0

45、
1:   public class A{
2:       public static void main(String args[]) {
3:           B  b=new B();
4:           b.start();
5:       }
6:   }
7:   class B extends Thread {
8:       public void run(){
9:           for(int i=1;i<3;i++){
10:               System.out.println("第"+i+"次"+"   ");
11:               try{
12:                   sleep(1000);
13:               }
14:               catch(InterruptedException e){
15:                   e.printStackTrace();
16:               }
17:           }
18:       }
19:   }
(1) 程序第10行的sleep方法调用的功能是什么?
答:使当前线程停止执行若干毫秒。

(2) 程序输出的结果是什么?
答:
第1次
第2次

五、编程题(每小题15分,共30分)
注意:1-2任选一题,3-4任选一题。请将代码填到此处。
1、编写一个老师类 Teacher ,要求:
(1) 老师类 Teacher 属性有:
id    :  long型,代表工号
name  :  String类对象,代表姓名
age   :  int型,代表年龄
sex   :  boolen型,代表性别(其中:true表示男,false表示女)
phone :  String类对象,代表联系电话
(2) 老师类 Teacher的方法有:
Teacher (long  i , String  n , int  a , boolean  s , long  p)
: 有参构造函数,形参表中的参数分别初始化工号、姓名、年龄、性别和联系电话。
int  getAge() ( ) : 获取年龄作为方法的返回值。
boolean  getSex( ) ( ) : 获取性别作为方法的返回值。
long  getPhone ( ) : 获取联系电话作为方法的返回值。
public  String  toString( ) : 以“姓名:联系电话”的形式作为方法的返回值。

2、编写一个完整的Java  Application 程序。包含接口Area,类Circle、Rectangle、Test,具体要求如下:
    ⑴接口Area:
        ①接口方法
double  getArea():求一个形状的面积
double  getPerimeter ():求一个形状的周长
⑵类Rectangle:
        实现Area接口,并有以下属性和方法:
属性
width: double型,表示长方形的宽度
height:double型,表示长方形的长度
方法
Rectangle(double  w,  double  h):构造函数toString():
输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶Test类作为主类要完成测试功能
生成Rectangle对象
② 调用对象的toString方法,输出对象的描述信息

3、编写一个Java Application,创建一个标题为"计算器"的窗框,布局如下所示,请完成其中的加减乘除功能,第二排的“C“按钮为清空数据,其左边的三个按钮不用编写代码。
 

4、编写一个Java Application,创建一个标题为"十进制整数转换"的窗框,完成进制转换程序,布局如下:(完成一种转换可得5分)
 


2013-06-16 03:05
快速回复:《Java程序设计》练习题(二)【含部分答案】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019938 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved