当前位置:文档之家› 《Java程序设计》题目样例

《Java程序设计》题目样例

【题目样例】一、单选题1.下面哪个特性不是Java具有的(D )。

A、“纯”面向对象B、安全性高C、可移植性好D、运行速度快2.下面哪个类型是Java中不支持的(C )。

A、布尔类型B、字符串C、指针D、数组3.下面哪个不属于Java语言的关键字(B )。

A、nativeB、constC、finalD、finally4.下面关于数组的使用,不正确的是(C )。

A、int a[] = {1, 2, 3};B、int a[][] = {{ 1, 2 }, { 3, 4} };C、int a = new int[6]for (int i=0; i<6; i++)a[i] = i * i;D、int a[][] =new int[2][ ];int a[1] = new int [4];int a[2] = new int[5];5.应用程序的main方法中有以下语句,则输出的结果是(A )。

String obj = new String("abcxyz");for(int i = obj.length() - 1; I > 0; i--)System.out.print(obj.charAt(i));A、zyxcbaB、xyzC、zyxcbD、abcxyz6.下面函数,哪一组不属于方法重载(A )。

A、int fun(int a, int b, float c) { … }float fun(int b, int a, float c) { … }B、int fun(int a, int b) { … }int fun(int a, int a, float c) { … }C、int fun(int a) { … }int fun(int a, int b) { … }D、int fun(int a, float b) { … }int fun(float b, int a) { … }7.若创建RandomAccessFile类对象raf2:RandomAccessFile raf2 = new RandomAccessFile("1.txt", "rw"),该语句的功能是(B )。

A、打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

B、打开当前目录下的文件1.txt,既可以向文件写入数据,也可以从文件读取数据。

C、打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D、以上说法都不对。

8.应用程序main方法中有以下语句,则输出的结果是(A )。

String s = "java@123456@";int n = s.indexOf("@");int k = s.indexOf("@", 5);String s2 = s.substring(n + 1, k);System.out.println(s2);A、123456B、javaC、@D、59.阅读下面程序,请问哪种说法是正确的(C )。

package mp1;class Base{int friend_data = 1;public int public_data = 2;private int private_data = 3;protected int protected_data = 4;}//another java source filepackage mp2;class Derived extends Base{Base a=new Base( );void dataUse(){System.out.println(a.friend_data);System.out.println(a.public_data);System.out.println(a.private_data);System.out.println( a.protected_data);}}A、Derived类可以正常运行,dataUse()方法可以访问Base对象a中的friend_data、public_data、private_data和protected_data。

B、Derived类不能正常运行,dataUse()方法可以访问Base对象a中的friend_data、public_data和 protected_data;但无法访问 private_data。

C、Derived类不能正常运行,dataUse()方法可以访问Base对象a中的public_data 和protected_data;但无法访问friend_data和private_data。

D、Derived类不能正常运行, 它无法访问 Base类以及其任何成员。

10.下面的程序编译运行后,从键盘输入9,回车后输出的结果是(B )。

import java.io.*;public class Test{public static void main(String args[]) throws IOException{ BufferedReader buf =new BufferedReader(new InputStreamReader(System.in));while(true){String str = buf.readLine();if(str.equals("quit"))break;int x = Integer.parseInt(str);System.out.println(x * x);}}}A、9B、81C、quitD、311.下列所给选项中,(A )是Java类库中用于编写绘图程序的基础类。

A、GraphicsB、GraphicC、PaintD、Paints12.设页面M包含applet,用户用另一页面T覆盖M,当用户关闭或移开页面T后,浏览器会调用applet的方法(B )A、init()B、start()C、stop()D、destroy()13.本题所列选项中,(D )是正确的方法声明。

A、void m() throw IOException{}B、void m() {throw IOException}C、m() throws IOException{}D、void m() throws IOException{}14.以下关于修饰词的叙述中正确的是(D )A、若源程序文件中存在import语句,则必须放置在所有非注释语句之前B、private成员变量可以被同一包中的所有类访问C、一个abstract类可以被声明为final类D、方法内定义的局部变量不能声明为static变量15.当浏览器打开一个新的包含applet的页面时会首先调用applet的方法(D )A、run()B、start()C、stop()D、init()16.若要一个不可以被继承的类,在类定义的头部应使用修饰词(D )A、abstractB、protectC、publicD、final17.在FileInputStream类的构造方法中,可以使用(B )类的对象来作为参数。

A、InputStreamB、FileC、FileOutputStreamD、StringBuffer18.在switch(expression)语句结构中,expression的数据类型不能是下列选项中的(D )A、shortB、byteC、charD、long二、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。

(正确)2.Unicode是用16位来表示一个字的。

(正确)3.原生类中的数据类型均可任意转换。

(错误)4.“+”运算符不能进行字符连接。

(错误)5.字符串中的索引从0开始。

(正确)6.垃圾回收器会自动收集不再使用的对象。

(正确)7.子类可以直接访问父类的protected属性。

(正确)8.子类可以直接访问父类的所有属性和方法。

(错误)9.子类不能删除父类的属性。

(正确)10.实现某接口的类必须实现该接口的所有方法。

(正确)11.JA V A中只有8种基本数据类型,其余的都是类。

(错误)12.语句int i=3.2;说法正确。

(错误)13.语句char c=‘李’;说法正确。

(错误)三、简答题1.说明this,super,final各自的作用。

答:this:①指代调用方法的当前对象;②在构造函数内使用this用于指代另外一个构造函数。

super:提供了一种调用父类构造函数的方法。

final:使得某个变量值只能被引用,而不能修改。

2.请解释面向对象程序设计相关的几个概念:继承、多态、重载。

答:继承:将相关类组成层次结构,允许新类从已存在的类中派生,通过保留它们的属性(即实例变量)和方法,并根据自己的要求添加新的属性的方法。

多态:接口的多种不同的实现方式。

重载:在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java 就会将它们看做唯一的方法。

3.什么是抽象类?什么是接口?试说明抽象类和接口的异同点。

答:抽象类:一种类,它不能实例化为一个对象,而只表示一种抽象的概念,继承它的子类可以对其进行具体实现,这种类中往往包含了抽象方法。

接口:就是一系列常量和空方法的集合,它提供了多个类共有的方法,但不限制每个类如何实现这些方法。

相同点:①二者都包含空方法,都必须在实现接口或继承抽象类的子类中具体实现这些方法。

②由于二者都包含空方法,所以不能用new关键字来创建这两种类型的对象。

③类之间具有继承关系,接口之间也可以具有这种关系,一个接口可以继承一个或多个接口。

④接口和类一样可以具有public属性。

在interface前加上public关键字,表示各个包中的类均可以实现这个接口,反之,只有同一个包中的类才可以实现这个接口。

不同点:①抽象类在定义空方法时,其名称前必须加abstract关键字,而在接口中不需要。

②在抽象类中,除空方法外,还可以定义实例变量和非空方法;而在接口中,只能定义常量和空方法。

③接口允许多继承。

一个接口可以继承多个接口,实现接口的类也可以同时实现多个接口,只要在这个类中对每个接口的方法都有具体的实现,但Java的类仅支持单继承。

4.什么是异常?答:所谓异常就是不可预测的不正常情况。

Java语言提供的异常处理机制,主要用于处理程序在程序执行时所产生的各种错误情况,如数组下标越界、除数为0等。

它采用了一种面向对象的机制,即把异常看作一种类型,每当发生这种事件时,Java就自动创建一个异常对象,并执行相应的代码去处理该事件。

相关主题