SlideShare a Scribd company logo
2
Most read
《 JAVA 程序设计》期末考试试题 (六)
一、填空题
1.定义类的保留字是( class ),定义接口的保留字是( interface )。

2.Socket 通常也称为 ( 套接字     ),用于描述( IP 地址 ) 和 ( 端口 )。

3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。

4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。

5.Java 语言只允许单继承,指每个类只能有一个 ( 父类 )。

6.Java 源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class )。

7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访问临界资源的

代码( 临界代码 )。

8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。


二、选择题
1.关于选择结构下列哪个说法正确? (  )

A.if 语句和 else 语句必须成对出现

B. if 语句可以没有 else 语句对应

C.switch 结构中每个 case 语句中必须用 break 语句

D.switch 结构中必须有 default 语句


2.while 循环和 do…while 循环的区别是:  (  )

A.没有区别,这两个结构任何情况下效果一样

B.while 循环比 do…while 循环执行效率高

C.while 循环是先循环后判断,所以循环体至少被执行一次

D. do…while 循环是先循环后判断,所以循环体至少被执行一次
3.关于 for 循环和 while 循环的说法哪个正确? (  )

A.while 循环先判断后执行,for 循环先执行后判断。

B. while 循环判断条件一般是程序结果,for 循环的判断条件一般是非程序结果

C.两种循环任何时候都不可以替换

D.两种循环结构中都必须有循环体,循环体不能为空


4.下列修饰符中与访问控制无关的是 (  )

A.private              B.public

C.protected            D. final


5. void 的含义:  (  )

A.方法没有返回值                         B. 方法体为空

C.没有意义                        D. 定义方法时必须使用


6. return 语句:  (  )

A.只能让方法返回数值                   B.方法都必须含有

C.方法中可以有多句 return             D.不能用来返回对象


7.关于对象成员占用内存的说法哪个正确?  (  )

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对
8.下列说法哪个正确?

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量


9.下列说法哪个正确?  (  )

A、一个程序可以包含多个源文件

B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类

D、一个源文件只能供一个程序使用


10.关于方法 main()的说法哪个正确?(  )

A.方法 main()只能放在公共类中

B main()的头定义可以根据情况任意更改

C.一个类中可以没有 main()方法

D.所有对象的创建都必须放在 main()方法中


11.构造函数何时被调用?  (  )

A、创建对象时                  B、类定义时

C、使用对象的方法时               D、使用对象的属性时


12. 抽象方法:  (  )

A、可以有方法体
B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法 


13.关于继承的说法正确的是:  (  )

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类 public 方法和属性

D、子类只继承父类的方法,而不继承属性


14.关于构造函数的说法哪个正确?  (  )

A、一个类只能有一个构造函数

B、一个类可以有多个不同名的构造函数

C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的构造函数


15. this 和 super:

A、都可以用在 main()方法中

B、都是指一个内存地址

C、不能用在 main()方法中

D、意义相同


16.关于 super 的说法正确的是:

A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在 main()方法中


17.覆盖与重载的关系是  (  )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final 修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事


18.关于接口哪个正确?  (  )

A、实现一个接口必须实现接口的所有方法

B.一个类只能实现一个接口

C.接口间不能有继承关系

D.接口和抽象类是同一回事


19.异常包含下列哪些内容?  (  )

A.程序执行过程中遇到的事先没有预料到的情况

B.程序中的语法错误  

C.程序的编译错误

D.以上都是


20.   对于已经被定义过可能抛出异常的语句,在编程时:  (  )

A、必须使用 try/catch 语句处理异常,或用 throws 将其抛出
B.如果程序错误,必须使用 try/catch 语句处理异常

C.可以置之不理

D.只能使用 try/catch 语句处理


21.     字符流与字节流的区别在于(  )

A.前者带有缓冲,后者没有

B.前者是块读写,后者是字节读写

C. 二者没有区别,可以互换使用

D. 每次读写的字节数不同


22.下列流中哪个不属于字节流  (  )

A.FileInputStream

B.BufferedInputStream
C. FilterInputStream
D. InputStreamReader
三、程序填空题
1.public class Sum{
       public static void main(String [] args){
           int j=10;
           System.out.println("j is : "+j);
           calculate(j);
           System.out.println("At last, j is : "+j);
       }
     static void calculate (int j){
           for (int i = 0;i<10;i++)
                j++;
           System.out.println("j in calculate() is: "+j);
       }
}
输出结果为:
j is :            (1)
j in calculate() is : (2)
At last j is :         (3)
答案: (1) 10; (2) 20; (3) 10。


2. 按要求填空
abstract class SuperAbstract{
     void a(){…}
     abstract void b();
     abstract int c(int i);
}
interface AsSuper
{
     void x();
}
abstract class SubAbstract extends SuperAbstract implements AsSuper
{
      public void b(){…}
     abstract String f();
}
public class InheritAbstract extends SubAbstract{
     public void x(){…}
     public int c(int i ) {…}
     public String f(){…}
     public static void main(String args[]){
         InheritAbstract instance=new InheritAbstract();
         instance.x();
         instance.a();
         instance.b();
         instance.c(100);
         System.out.println(instance.f());
     }
}
在以上这段程序中:
抽象类有:SuperAbstract 和 (1)  (写出类名)

非抽象类有:       (2)  (写出类名)

接口有:         (3)  (写出接口名)

AsSuper 中的 x()方法是(4)方法,所以在 InheritAbstract 中必须对它进行(5)

答案:
(1) SuperAbstract;
(2) InheritAbstract;

(3) AsSuper;

(4) 抽象;

(5) 覆盖和实现。


3. 按注释完成程序
public class Leaf {
    private int i = 0; //此属性值用于检验

    Leaf increment(){ //定义方法 increment(),返回值是 Leaf 类的对象
             i++;
        return (1) ;//将当前对象的地址作为返回值返回
    }
    void print() {
        System.out.println(" i = " + i);
    }
    public static void main(String args[]){
        Leaf x = (2); //创建 Leaf 类的对象 x
        x.increment().increment().increment().print();
    }//多次调用方法 increment(),返回的都是 x 的地址,i 值表示调用次数
}

输出结果为 i = (3)
答案:
(1) this;

(2) new Leaf();
(3) 3


4. 按注释提示完成文件复制的程序

//FileStream 源代码如下:
import java.io.*;
class FileStream {
     public static void main(String args []) {
    try {
           File inFile = new File("file1.txt");   //指定源文件

           File outFile = new File("file2.txt"); //指定目标文件

           FileInputStream fis =( 1) ;
           FileOutputStream fos = new FileOutputStream(outFile);
              int c;
           //逐字节从源文件中输入,再输出到 fos 流
                while ((c = fis.read ())!=-1)

                      ( 2) ;
           fis.close();
           fos.close();
              }
              catch (Exception e) {
           System.out.println("FileStreamsTest: "+e);
              }
   }
 }
答案:
(1) new FileInputStream(inFile);
(2) fos.write(c);


5. 阅读程序,给出结果:

// AbstractClassDemo.java 源代码如下:

abstract class Shape {        //定义抽象类 Shape 和抽象方法 display
       abstract void display();
}
class Circle extends Shape {
       void display() {         //实现抽象类的方法
              System.out.println("Circle");
       }
}
class Rectangle extends Shape {
void display() {   //实现抽象类的方法
        System.out.println("Rectangle");
    }
}
class Triangle extends Shape {
    void display() { //实现抽象类的方法
        System.out.println("Triangle");
    }
}
public class AbstractClassDemo{
    public static void main(String args[]){
        (new Circle()).display(); //定义无名对象来调用对应的 display 方法
        (new Rectangle()).display();
        (new Triangle()).display();
    }
}

输出结果是 ?

答案: (1) Circle; (2) Rectangle; (3) Triangle。

More Related Content

DOC
Java考试试题
PPTX
Scala再探
PDF
Clojure简介与应用
PDF
那些年,我們一起看的例外
PDF
型態與運算子
PPTX
jQuery源码学习
PDF
Python變數與資料運算
PDF
Java考试试题
Scala再探
Clojure简介与应用
那些年,我們一起看的例外
型態與運算子
jQuery源码学习
Python變數與資料運算

What's hot (20)

PPTX
Clojure概览
PDF
Java Collections中的Fail Fast机制
PPT
第01章 绪论(java版)
PDF
C python 原始碼解析 投影片
PPTX
Clojure的魅力
PPT
Scala function-and-closures
PDF
functional-scala
PPT
Java Script 引擎技术
PPT
C語言 第4章 基本輸出與輸入功能
PPT
PHP
PPT
07 陣列與字串
PPT
Introduction to C++ over CLI
PPTX
認識 C++11 新標準及使用 AMP 函式庫作平行運算
PPTX
流程語法與函式
PDF
Python元組,字典,集合
PDF
Arrays的Sort算法分析
PDF
Python学习笔记
PPT
10 檔案說明與處理
PDF
Python基本資料運算
PDF
Python程式設計 - 串列資料應用
Clojure概览
Java Collections中的Fail Fast机制
第01章 绪论(java版)
C python 原始碼解析 投影片
Clojure的魅力
Scala function-and-closures
functional-scala
Java Script 引擎技术
C語言 第4章 基本輸出與輸入功能
PHP
07 陣列與字串
Introduction to C++ over CLI
認識 C++11 新標準及使用 AMP 函式庫作平行運算
流程語法與函式
Python元組,字典,集合
Arrays的Sort算法分析
Python学习笔记
10 檔案說明與處理
Python基本資料運算
Python程式設計 - 串列資料應用
Ad

Similar to 《Java程序设计》期末考试试题 (六) (20)

DOC
2006年招聘试题
DOC
Java面试知识
DOC
Java基础方面
PPT
DOC
Java面试32题
DOC
中心教员Java面试题1
DOC
招聘笔试题(二)
DOC
Java相关基础知识
DOC
大公司的Java面试题集
DOC
应聘Java笔试时可能出现问题及其答案
PDF
Java易犯错误
DOC
Java面试题集
DOC
Java 面试32问
PDF
[圣思园][Java SE]Java se lesson 3
DOC
Java面试笔试题大汇总
PDF
[圣思园][Java SE]Io 3
PDF
[圣思园][Java SE]Java se lesson 1
PDF
[圣思园][Java SE]Java se lesson 1
PDF
由一个简单的程序谈起――之三(精华)
DOC
Java程序员面试之葵花宝典
2006年招聘试题
Java面试知识
Java基础方面
Java面试32题
中心教员Java面试题1
招聘笔试题(二)
Java相关基础知识
大公司的Java面试题集
应聘Java笔试时可能出现问题及其答案
Java易犯错误
Java面试题集
Java 面试32问
[圣思园][Java SE]Java se lesson 3
Java面试笔试题大汇总
[圣思园][Java SE]Io 3
[圣思园][Java SE]Java se lesson 1
[圣思园][Java SE]Java se lesson 1
由一个简单的程序谈起――之三(精华)
Java程序员面试之葵花宝典
Ad

《Java程序设计》期末考试试题 (六)