JAVA期末考试试卷和习题及答案汇总

JAVA期末考试试卷和习题及答案汇总
JAVA期末考试试卷和习题及答案汇总

JA V A期末考试试卷和习题及答案汇总

一、单项选择题

1.下面哪个不是Java中的容器? B

A、 ScrollPane

B、Canvas

C、Applet

D、Dialog

2.下面哪个方法与applet的显示无关? A

A、draw()

B、 update()

C、repaint()

D、paint()

3.以下哪个方法用于定义线程的执行体? C

A、 start()

B、init()

C、run()

D、synchronized()

4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式?A A、 FlowLayout B、CardLayout C、BorderLayout D、GridLayout

5.有如下代码段:

1)

2) { if(unsafe()){//do something…}

3) else if(safe()){//do the other…}

4) }

其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?D

A、public IOException methodName()

B、public void methodName()

C、public void methodName() throw IOException

D、public void methodName() throws IOException

6.以下哪个关键字可以用来对对象加互斥锁?B

A、transient

B、synchronized

C、 serialize

D、static

7.编译并运行以下程序,以下描述哪个选项是正确的C

1. class A{

2. protected boolean equals(){

3. return super.equals();}

4. }

A、编译通过运行无异常

B、编译通过但运行时出错

C、行2出错,不能成功编译

D、不能成功编译,行3出错

8.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。

A、private

B、protected

C、private protected

D、public

9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B)个比特位。

A、8

B、16

C、32

D、64

10.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。

A、import java.awt.* ;

B、import java.applet.* ;

C、import java.io.* ;

D、import java.awt.event.* ;

11.以下关于构造函数的描述错误的是(A)。

A、构造函数的返回类型只能是void型。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

12.有程序如下,关于程序的描述哪个是正确的?(C )

public class Person{

static int arr[] = new int[10];

public static void main(String a[])

{ System.out.println(arr[1]); }

}

A、编译将产生错误

B、编译时正确,但运行时将产生错误

C、正确,输出0

D、正确,输出 null

13.有语句String s=”hello world”; ,以下操作哪个是不合法的?( B)A、int i=s.length();B、s>>>=3;C、String ts=s.trim(); D、String t=s+”!”;

14.给出如下代码:

class Test{

private int m;

public static void fun() {

// some code...

}

}

如何使成员变量m 被函数fun()直接访问?(C)

A、将private int m 改为protected int m

B、将private int m 改为 public int m

C、将private int m 改为 static int m

D、将private int m 改为 int m

15. Java application中的主类需包含main方法,main方法的返回类型是什么?(D)

A、int

B、float

C、double

D、void

16.有以下方法的定义,请选择该方法的返回类型(D)。

ReturnType method(byte x, double y)

{

return (short)x/y*2;

}

A、byte

B、short

C、int

D、double

17.下列哪些语句关于Java内存回收的说明是正确的? (B )

A、程序员必须创建一个线程来释放内存

B、内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

18.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(D)语句。

A、import java.awt.* ;

B、import java.applet.* ;

C、import java.io.* ;

D、import java.awt.event.* ;

19.容器Panel和Applet缺省使用的布局编辑策略是(B)

A、BorderLayout

B、FlowLayout

C、GridLayout

D、CardLayout

20.设有下面两个赋值语句:

a = Integer.parseInt(“123”);

b = Integer.valueOf(“123”).intValue();

下述说法正确的是(D)

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且值相等。

D、a和b都是整数类型变量并且值相等。

21.编译并运行以下程序,以下描述哪个选项是正确的(C )。

1. class A{

2. protected String toString(){

3. return super.toString();}

4. }

A、编译通过运行无异常

B、编译通过但运行时出错

C、行2出错,不能成功编译

D、不能成功编译,行3出错

22.有以下程序片段,下列哪个选项不能插入到行1。(D )

1.

2.public class Interesting{

3.//do sth

4. }

A、import java.awt.*;

B、package mypackage;

C、class OtherClass{ }

D、public class MyClass{ }

23.以下哪个不是Java的关键字?(A)

A、TRUE

B、const

C、super

D、void

24.关于以下application的说明,正确的是(C)。

1.class StaticStuff

2. {

3.static int x;

4.static { x+=5;}

5.public static void main(String args[ ])

6.{

7.System.out.println(“x=” + x);

8.}

9.static { x/=5;}

10.}

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=1

D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化

25.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?B

A、OutputStream

B、File

C、InputStream

D、BufferedOutputStream

26.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。

A、private

B、protected

C、private protected

D、public

27.有程序片段如下,以下哪个表示式的结果为true?(B)

Float s=new Float(0.1f);

Float t=new Float(0.1f);

Double u=new Double(0.1);

A、s==t

B、s.equals(t)

C、u.equals(s)

D、t.equals(u)

=========================================================

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。

A. java

B. class

C. html

D. exe

2、以下哪一个不是JAVA的标准数据流( D)。

A. 标准输出数据流

B. 标准输入数据流

C. 标准错误数据流

D. 标准运算数据流

3、. class 和.java 文件的含义分别是:(A)

A. Java 目标码文件和源文件; B. Java 可执行文件和目标码文件;

C. Java 源文件和目标码文件; D. Java 源文件和Java 平台配置文件;4、面板的边框有哪几种?(D)

A.面板没有边框; B.仅有单线边框;

C.仅有黑色的边框; D.面板缺省没有边框,但可以设置单线、斜坡、不光滑等多种线形,可以设置边框的颜色、宽度等,还可以设置边框与内容之间的举例等;

5、以下几个命名方法,不符合Java 命名规范的是:(D)

A.类的名称:MyClassName; B.变量的名称:myArray;

C.常量的名称:PI_VALUE;D.成员函数的名称:GetName;

6、在下面的代码中,break语句的作用是:(C)

for (int i = 0; i < 10; i++)

if (aData[i] = = TargetData) {

FoundID = i;

break;

}

A.退出if 程序块; B.退出此次循环,直接进入下一次循环;

C.退出整个循环; D.退出整个函数;

7、以下项中,不属于成员变量的定义部分的是:D

A.访问级; B.变量名称; C.变量类型;D.变量的初始化方式;8、以下关于异常捕获的原则中,错误的是(D )

A RuntimeException 可以不被捕获,Java会自动处理运行期异常。

B 先列出子类,后列出父类。

C 先列出具体的异常类,后列出通用的异常类。

D Exception类必须出现,而且必须作为catch块中第一个匹配的类。

9、 Java的一个重要特点是结构中立性,这种结构中立性表现在(C)

A 用Java编写的源程序无需编译,直接通过Java平台解释执行。

B Java源程序在不同的硬件和操作系统下,直接编译成该硬件和操作系统

能够运行的程序并运行。

C Java源程序编译成一种结构中立的目标文件格式,再有Java平台在不同

的硬件和操作系统下运行。

D Java源程序编译成一种通用的可执行程序,现在的硬件和操作系统都支

持这种通用的可执行程序。

10、在Swing中,一下列出的面板的作用中,错误的是(C).

A.放置并排列组件B显示背景图案;C接收事件;D显示面板的边框;

11、.在Swing中,如何设置组件的边框?( C)

A通过根窗格的setBorder函数设置某各组件的边框;

B通过内容窗格的setBorder函数设置某各组件的边框;

C通过组件的setBorder函数设置;

D通过框架的setBorder函数设置某各组件的边框;

12、以下关于框架和其他窗口之间的关系中,错误的是(D)

A 对话框必须依附于某个框架

B 当框架最小化时,所有依附于它的窗口也会最小化

C 框架是一个程序的主窗口,每个具有图形界面的程序都至少要有一个框架

D 内部框架也是顶级容器组件

13、创建并显示框架的步骤中,错误的是(A)

A 将框架对象与入口类相连接

B 在框架中加如组件

C 创建一个框架对象

D 调用框架对象的setVisible函数显示框架

14、如何在框架中显示标题?(C )

A 调用根窗格的set Title 函数显示

B 调用内容窗格的setTitle函数显示

C 调用框架对象的setTitle函数显示

D 调用框架对象的Border对象的setTitle函数显示

15、下列关于Java语言的特点,描述错误的是(C)

A.Java是跨平台的编程语言 B.Java支持分布式计算C.Java是面向过程的编程语言 D.Java支持多线程

16、下述概念中不属于面向对象方法的是D___。

A.对象、消息 B.继承、多态 C.类、封装D.过程调用

17、结构化程序设计所规定的三种基本控制结构是( C )

A.输入、处理、输出 B.树形、网形、环形

C.顺序、选择、循环 D.主程序、子程序、函数18、以下声明合法的是( B )

A.default String s;B.public final static native int w( ) C.abstract double d;D.Abstract final double hyperbolicCosine( ) 19、Applet可以做下列哪些操作?C

A.读取客户端文件 B.在客户端主机上创建新文件

C.在客户端装载程序库 D.读取客户端部分系统变量

20、下列关于for循环和while循环的说法中哪个是正确的? c

A.while循环能实现的操作,for循环也都能实现

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

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

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

==================================================================== 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A .java B.class C .html D .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。

A. 3

B. 3. 5

C. 4

D. 5

3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。

A. start( )

B. stop( )

C. init( )

D. paint( )

4、不允许作为类及类成员的访问控制符的是( C )。

A. public

B. private

C. static

D. protected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A. static void method( )

B. public void method( )

C. final void method( )

D. abstract void method( ) *********************************************************************

1、Java中复合数据类型不包括(D)

A.类类型

B.数组

C.接口类型

D.指针

2、请从四个选项中选择答案,下列代码的执行结果是:(C)

Public class Test{

Public static void main(String args[]){

Float t=9.0f;

Int q=6;

System.out.println((t++)*(--q));

}

}

A.40

B.40.0

C.45.0

D.36.0

3、下列关于修饰符混用的说法,错误的是(D)

A.abstract 不能与final 并列修饰同一个类

B.abstract类中可以有非abstract的方法

C.普通类(非abstract类)中不能有abstract方法

D.static方法中能处理非static的属性

4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问

B.只能被该类本身和该类的所有的子类访问

C.只能被该类自身所访问

D.只能被同一个包中的类访问

5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A)

A.12

B.24

C.16

D.3

6、以下赋值语句正确的是(D)

A.char c1=”a”

B.float f1=3.22

C.byte b1=266

D.long L1=0xAC8L

7、Java不支持多重继承,但我们可以通过(B)实现

A.多态 B.接口 C.覆盖 D.抽象类

8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A)

A. person p[]=new person[3]; p[1]=new student();

B .student s[]=new person[3]; s[1]=new person();

C .person p[]= new student[3];p[1]= new person();

D .student s[]=new student[3];s[1]=new person;

9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C)

A.MyClass类中的两个方法:little和1

B. MyClass.Java中有三个类:MyClass、little和1

C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1

D. MyClass、little和1,这三者没什么关系

10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。

A.public static void main()

B.public static void main(String arg[])

C.public static int main(String[] arg)

D. B.public void main(String arg[])

11、当编译和运行下面的代码会出现什么情况?(A)

Import java.io.*;

Class ExBase{

Abstract public void martley()

}

Public class MyEx extends ExBase{

Public static void main(String argv[]){

DataInputStream fi=new DataInputStream(System.in);

Try{

Fi.readChar();

}

Catch(IOEception e){

System.exit(0);

}

Finally{System.out.println(“Doing finally”);}

}

}

A.编译错误

B.可以运行,没有打印出”Doing finally”

C.可以运行,在打印出”Doing finally”后退出

D.在运行之后立即退出

12、当编译和运行下面的代码会出现什么情况?(D)

Public class Sandys{

Private int court;

Public static void main(String argv[]){

Sandys s=new Sandys(99);

System.out.println(s.court);

}

Sandys(int balleount){

court=ballcount;

}

}

A编译错误,变量court被定义为private

B编译错误,System.out调用的s没有被初始化

C可以编译和运行,没有输出结果

D可以编译和运行,输出结果为99

13、给出下面的代码:

Class Base{}

Class Agg extends Base{

Public String getFields(){

String name=”Agg”;

Return name;

}

}

Public class Avf{

Public static void main(String argv[]){

Base a=new Agg();

//Here

}

}

当把下面的代码添加到注释“/Here”后面,程序的输出结果是”Agg”(D) A.System.out.println(a.getFields()) B. System.out.println(https://www.360docs.net/doc/562545530.html,)

C.System.out.println((Base)a.getFields())

D.System.out.println(((Agg)a).getFields())

14、当编译和运行下面的代码会出现什么情况?(A)

Abstract class Base{

Abstract public void myfunc();

Public void another(){

Systern.out.println(“Another method”);

}

}

Public class Abs extends Base{}

Public static void main(String argv[]){

Abs a=new Abs();

a.amethod();

}

Public void myfunc(){

System.out.println(“My Func”)

}

A可以编译和运行,输出的结果是”My func”

B出现编译错误:Base类中没有抽象方法

C可以编译,但运行是提示Base类中没有抽象方法

D出现编译错误,Base类中的方法myfunc没有方法体

15、编译和运行下面的代码会出现(D)

Import java.io.*;

Class Base{

Public void amethod()throws FileNotFoundException{}

}

Public class ExcepDemo extends Base{

Public static void main(String argv[]){

New ExcepDemo();

}

Public void amethod(){}

Protected ExcepDemo(){

try{

BufferedReader inputStream=new BufferedReader(new InputStreamReader); System.out.println(“Pausing”);

inputStream.readLine();

System.out.println(“Contimuing”);

This.amethod();

}catch(IOException ioe){}

}

A编译错误,因为构造方法被声明为protected

B编译错误,因为方法amethod没有抛出异常

C运行时错误,因为方法amthod没有抛出异常

D可以编译和运行,输出的结果是:Pausing…Continuing

其中…表示等待用户的键盘输入

17、以下程序的输出结果是(C)

class Aclass{

void go(){System.out.println(“Aclass”);}

}

public class Bclass extends Aclass{

Void go{

System.out.println(“Bclass”);

}

Public static void main(String args[]){

Aclass a= new Aclass();

Aclass al=new Bclass();

a.go();

al.go();

}

}

A、Aclass

Aclass

B、Bclass

Bclass

C、Aclass

Bclass

D、Bclass

Aclass

18、看以下程序

Boolean a=false;

Boolean b=true;

Boolean c=(a&&b)&&(!b);

Int result=c==false?1:2;

这段程序执行完后,c与result的值是:(A)

Ac=false;result=1; Bc=true;result=2;

Cc=true;result=1; Dc=false;result=2;

19、下面哪个单词是Java语言的关键字(B)

A.Float

B.this

C.string

D.unsigned

20、switch语句(A)

A.都可以用if-else if结构实现

B.都不可以用if-else if结构实现

C.有的可以用if-else if结构实现

D.大部分不可以用if-else if结构实现

21、在异常处理中,如释放资源、关闭文件等善后操作由(C)来完成。

A. try子句

B. catch子句

C. finally子句

D. throw子句

22、下面哪个是Java语言中正确的标识符(C)

A. 3com

B. import

C. that

D. this

23、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)

A. protected

B. static

C. private

D.

24、下面哪条语句定义了5个元素的数组(A)

A. int[]a={22,23,24,25,12};

B. int a []=new int(5);

C. int[5] array;

D. int[] arr;

25、下面哪项可以得到数组元素的个数,Java中定义数组名为abc。( B )

A. abc.length()

B. abc.length

C. len(abc)

D.ubound(abc)

26、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C)

A. public

B. private

C.static

D.final

27、下面关于构造方法的说法不正确的是(B)

A、构造方法也属于类的方法,用于创建对象的时候给成员变量赋值。

B、构造方法不可以重载。

C、构造方法没有返回值

D、构造方法一定要和类名相同

28、监听事件和处理事件(A)

A、都由Listener完成

B、都由相应事件Listener处登记过的构件完成

C、由Listener和构件分别完成

D、由Listener和窗口分别完成

29、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?(B)

A. BoxLayout

B. GridLayout

C.BorderLayout

D.FlowLouLayout

30、给出如下代码:

Class Test{

Private int m;

Public static void fun() {

// some code…

}

}

如何使成员变量m被函数fun()直接访问?(C)

A将private int m 改为protected int m

B将private int m 改为public int m

C将private int m 改为static int m

D将private int m 改为 int m

31、有个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就……法头的形式为(A)

A.static void method() B. public void method()

C. final void method()

D. abstract void method()

32、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)

A.java

B.class

C .html

D .exe

33、如果只要让类中的成员变量可以被同一包访问,则使用如下哪个访问控制符?(D)

Aprivate;BPublic;CProtected;D不使用访问控制符

34、以下哪个方法用于定义线程的执行体?(C)

A start();

B init();

C run();

D main();

35、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制(B)A、安全性B、多线程 C、跨平台 D、可移植

36、为实现多线程之间的通信,需要使用下列哪种流才合适(D)

AFilter stream;BFile stream

CRandom access stream;DPipedInputStream和PipedOutputStream

37、函数重载是指(A)

A两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B两个以上的函数取相同的名字和具有相同的形参个数和类型

C两个以上的函数名字不同,但形参的个数或类型相同

D两个以上的函数取相同的函数名,并且函数的返回类型相同

38、构造方法何时被调用(B)

A、类定义时

B、创建对象时

C、调用对象方法时

D、使用对象的变量时

39、Java中哪个类提供了随机访问文件的功能(A)

A.RandomAccessFile类 B.RandomFile类C.File类 D.AccessFile类

40、当方法遇到异常又不知如何处理时,应该怎么做(B)

A.捕获异常 B.抛出异常C.声明异常 D.嵌套异常

=====================================================================

=====================================================================

=====================================================================

二、填空题:(10小题,每题1分,共10分)

1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成

自节码和解释运行字节。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,

则类MyApplet必须是 Applet 类的子类并且存储该源程序文件的文件名为MyApplet.java。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK

编译器 javac.exe 编译该源程序文件将产生 3 个文件名与类名相同

而扩展名为 .class 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode

码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

5、使用数组时,下标表达式是整型表达式,下标的范围为 0 至数组长度减1

6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。8、创建一个名为 MyPackage 的包的语句是 package MyPackage ; 该语

句应该放在程序的位置为:应该在程序第一句。

9、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义

可以实现多重继承关系。

10、在文件操作中,public String getName()功能是得到文件名。

public String getAbsolutePath()功能是返回文件绝对路径。

==================================================================

1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、

编译生成字节码和解释运行字节码。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,

则类MyApplet必须是 Applet 类的子类并且存储该源程序文件

的文件名为 MyApplet 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK

编译器 javac.exe 编译该源程序文件将产生 3 个文件

名与类名相同而扩展名为 . class 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode

码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都

是占用 2 字节内存空间。

5、设 x = 2 ,则表达式 ( x + + )/3 的值是 1 。

6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和false 。

7、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体和操

作实现的方法,该方法必须在抽象类之中定义。最终(final)方法方法是不

能被当前类的子类重新定义的方法。

8、创建一个名为MyPackage 的包的语句是package MyPackag ,

该语句应该放在程序的位置为:应该在程序第一句。

9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。

int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + )

if ( i % 2 = = 1 ) s += MyIntArray[i] ;

System.out.println( s );

10、在Java程序中,通过类的定义只能实现单重继承,但通过接口的

定义可以实现多重继承关系。

====================================================

三、判断题。

1Java语言是平台无关的语言。T

2类的静态方法中可以访问该类的非静态数据成员.F

3Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值

是不会变的。T

4覆盖方法所抛出的异常不能比原方法更多。T

5Final 方法不能被覆盖。T

6抽象类中一定包含抽象方法。F

7接口中的方法必须是抽象方法。T

8在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F

9Java支持多重继承。F

10Final修饰的类不能派生子类。T

11覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T

12不能在静态方法中使用this.T

13抽象类中不能创建对象。T

14一个类可以实现多接口。T

15接口中可以包含非静态成员。F

16不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总

要被执行。T

17一个类实现一个接口,则该类必须实现接口中的所有方法。F

18线程使用sleep方法去休眠后可以使用notify方法唤醒。F

19线程使用sleep方法休眠是会释放该线程同步锁定的对象。F

20Final类中的属性和方法都必须是final的。F

1、Java中的引用变量需要初始化,简单变量可以不进行初始化( x )

2、子类可以继承父类的除私有成员以外的其它所有成员。 ( v )

3、Java只支持单继承,也就是说子类只能有一个直接父类。(v )

4、框架是一个程序的主窗口,它是顶级容器。(v)

5、关闭框架时,缺省地也会关闭整个应用程序。(x)

6、Java可以设置程序的界面外观,即可以让程序在不同操作系统下按照系统特

有的外观风格显示,也可以将风格统一。( v)

7、中间容器,原子组件,菜单栏,工具栏等都直接放在顶级容器下( x)

8、++op运算符的作用是先将变量的值加1再返回变量的值(v)

9、为了不影响程序的正常运行,Javadoc命令全部嵌入在注释语句中,以“/**”

开头,以“*/”结尾。(v)

10、标签是最常用的组件,它的作用是在界面上显示一行文字,标签也可以显示

图片,或者即显示图片也显示文字。( v )

1即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造

函数是无参函数,函数体为空。(对)

2在Java的方法中定义一个常量要用const关键字。(错)

3在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理

异常,而且一个try块之后只能对应一个catch语句。(错)

4Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。(对)

5一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类

里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法

的方法体。(对)

6Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。(错)

7所有的鼠标事件都由MouseListener监听接口的监听者来处理。(错)

8Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(对)

9如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。(错)

10Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(错)

11由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。(错)

12静态初始化器是在其所属的类加载内存时由系统自动调用执行。

(对)

13 Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

(对)

14注释的作用是使程序在执行时在屏幕上显示//之后的内容。

(错)

15在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放

在前面。(对)

===================================================================== =====================================================================

==================================================================== 四、简答

1比较接口与抽象类的共同点和不同点.什么情况下应采用接口,什么情况下应

采用抽象类.

答:接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数

和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索

引器、静态方法、静态字段、静态构造函数以及常数。如果创建的功能将在大

范围的全异对象间使用,则使用接口。

抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可

以提供非抽象方法。抽象类不能实例化,必须通过继承由派生类实现其抽象方法。

相同点:都不能被直接实例化,都可以通过继承实现其抽象方法。都是面向抽

象编程的技术基础,实现了诸多的设计模式。

不同点:接口支持多继承;抽象类不能实现多继承。接口只能定义抽象规

则;抽象类既可以定义规则,还可能提供已实现的成员。接口是一组行为规范;

抽象类是一个不完全的类,着重族的概念。接口可以用于支持回调;抽象类不能

实现回调,因为继承不支持。接口只包含方法、属性、索引器、事件的签名,

但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的

方法。接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,

Struct就可以继承接口,而不能继承类。

2类的加载和构造方法的调用顺序

类的加载的顺序:先递归地加载父类的静态成员/代码块(object的最先);

再依次加载到本类的静态成员。

调用构造方法:先递归地调用父类的构造方法;默认调用父类空参的同,也

可在第一行写明调用用父类某个带参的。再依次到本类的构造方法;

先初始化父类的静态代码--->初始化子类的静态代码--> ==

==(创建实例时,如果不创建实例,则后面的不执行)初始化父类的非静态代码

---> ==

==初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数

==

3什么是重载,什么是覆盖,有什么区别和共同点?

答:重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;覆

盖则是指在子类中定义了与父类具有相同名字的成员方法。

重载与覆盖的区别在于:重载是存在于同一个类的不同方法之间的多态关

系,它们主要通过参数表中参数的个数、参数的数据类型和参数的顺序等方面的

不同来区分;面覆盖是存在于父类与子类之间的多态关系,它们在引用时通过指

出所属类的类名来区分。

=====================================================================

=====================================================================

====================================================================

五.程序阅读题

1.写出以下程序的运行结果。(54321)

public class TestArray

{ public static void main(String args[ ]){

int i , j ;

int a[ ] = {1,3,2,5,4};

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

System.out.print(a[i]+" ");

System.out.println( ); }

}

2.写出以下程序的功能。(在屏幕上输出test.java文件的内容)

import java.io.*;

class FileIODemo{

public static void main(String[ ] args) throws IOException{ int b;

FileInputStream fileIn=new FileInputStream(“test.java”);

while((b=fileIn.read())!=-1){

System.out.print((char)b); } }

}

3.写出以下程序的运行结果。Str0str1str2 str0str2

import java.util.*;

public class Vec{

public static void main(String[] args) {

String[] s;

s=new String[2];

s[0]=new String("str1");

s[1]=new String("str2");

Vector v = new Vector();

for(int i = 0; i <2; i++) v.addElement(s[i]);

v.insertElementAt(new String("str0"),0);

Enumeration e = v.elements();

while(e.hasMoreElements())

System.out.print(e.nextElement()+" ");

System.out.println();

v.removeElement("str1" );

for(int i = 0; i < v.size() ; i++) System.out.print(v.elementAt(i) +" ");

System.out.println(); }

}

4.写出以下程序的运行结果。int

class OverloadDemo{

void testOverload( int i ){

System.out.println(“int”); }

void testOverload(String s){

System.out.println(“String”); }

public static void main(String args[ ]){

OverloadDemo a=new OverloadDemo ( );

char ch=’x’;

a.testOverload(ch); }

}

5.阅读以下程序,写出输出结果。inSecondclass

class First{

public First(){

aMethod(); }

public void aMethod(){

System.out.println(“in First class”);} }

public class Second extends First{

public void aMethod(){

System.out.println(“in Second class”);} public static void main(String[ ] args){

new Second( ); }

}

6.写出以下程序的运行结果。

class StaticTest {

static int x=1;

int y;

StaticTest()

{ y++; }

public static void main(String args[ ]){

StaticTest st=new StaticTest();

System.out.println("x=" + x);

System.out.println("st.y=" + st.y);

st=new StaticTest();

System.out.println("st.y=" + st.y); } static { x++;}

}

x=2 st y=1 st y=1

7.阅读以下程序:

class Exp1

{

public static void main(String[] args)

{

String s,s1="";

char c;

s=args[0];

for (int i=0;i

{ c=s.charAt(i);

if(c>='a' && c<='z'){

s1=s1+Character.toUpperCase(c);

}else{

s1=s1+Character.toLowerCase(c); }

}

System.out.println(s1);

}

}

若在dos命令行输入:java Exp1 cHINA,则输出为JAVA eXP1 China 。8.阅读以下程序:

import java.io.*;public class AboutFile{

public static void main(String[ ] args){

BufferedReader b=new BufferedReader (new InputStreamReader(System.in));

String s;

System.out.flush();

s=b.readLine();

System.out.println(“String is:”+s);

}

}

运行以上程序,若从键盘输入:

java<回车>

则输出结果为String is: java。

9.阅读以下程序,写出输出结果。

class Animal {

Animal() {

System.out.print ("Animal "); }

}

public class Cat extends Animal {

Cat() {

System.out.print ("Cat "); }

public static void main(String[] args) {

Cat kitty= new Cat(); }

}

Animal Cat

10.以下程序段的输出结果为int,int

class Cruncher{

void crunch( int i ){

System.out.print(“int”); }

void crunch(String s){

System.out.print(“String”); }

public static void main(String args[ ]){

Cruncher crun=new Cruncher ( );

char ch=’h’;

int i=12;

crun.crunch(ch);

System.out.print(“,”);

crun.crunch(i); }

}

11.阅读以下程序,输出结果为cooljava 。

import java.io.*;

public class TestString

{ public static void main(String args[ ])

{ StringC s = new StringC ("cool","java");

System.out.println(s); }

}

class StringC {

String s1;

String s2;

StringC( String str1 , String str2 )

{ s1 = str1; s2 = str2; }

public String toString( )

{ return s1+s2;}

}

12.以下程序段的输出结果为 1 v0 v1 1 vo。

import java.util.*;

public class VecApp {

public static void main(String[] args) {

Vector v = new Vector();

for(int i = 0; i <2; i++)

v.addElement("v"+i);

v.insertElementAt(new Integer(1),0);

Enumeration e = v.elements();

while(e.hasMoreElements())

System.out.print(e.nextElement()+" ");

System.out.println();

v.removeElement("v1" );

for(int i = 0; i < v.size() ; i++)

System.out.print(v.elementAt(i) +" ");

System.out.println();

}

}

四.编程题

1.编写一个输出"Welcome to Java World!"的Applet程序和嵌入该Applet 的HTML页面。

① // Welcome.java

②//Welcome.html

import java.applet.*;

import java.awt.*;

public class Welcome extends Applet {

public static String str=null;

public void init() {

str="Welcome to Java World !";

};

public void paint(Graphics g) {

g.drawString(str, 10, 50);

};

}

编写一个完整的JavaApplication程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:

⑴接口ShapeArea:

①接口方法

doublegetArea():求一个形状的面积

doublegetPerimeter():求一个形状的周长

⑵类Rectangle:

实现ShapeArea接口,并有以下属性和方法:

①属性

width:double型,表示长方形的宽度

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.360docs.net/doc/562545530.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex .change(ex .str,ex .ch); System .out .print(ex .str+" and "); Sytem .out .print(ex .ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA期末考试复习题

《J A V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A.java B. .class C.html D. .exe 2、设 x = 1 , y = 2 ,z = 3,则表达式 y+=z--/++x的值是( A )。 A. 3 B. 3.5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。

A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:(D ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于 for循环和 while循环的说法哪个正确? ( B ) A.while循环先判断后执行,for循环先执行后判断。B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换

Java期末考试试卷答案A

JAVA程序设计试卷库(第5套) 一、单选题(每小题 2 分,共 20 分) 1、Java Application源程序的主类是指包含有( A )方法的类。 A. main方法 B. toString方法 C. init方法 D. actionPerfromed方法 2、分析下面的程序段,下面的哪个描述是正确的。( B ) char mychar=’c’; switch(mychar){ default: case ‘a’“a”);break; case ‘b’“b”);break; } A.switch语句块是错误的, 因为switch后面的表达式 值的类型不是整数; B.switch语句块是正确的; C.switch语句块是错误的, 因为default没有放在语 句块的最后面; D.代码运行时,没有任何输出 结果。 3、编译并运行下面的Java程序, 将产生( B )结果。 class A{ int var1=1; int var2; public static void main(String[] args){ int var3=3; A a=new A(); } } A. 0 B. 4 C. 3 D. 代码无法编译,因为var2根本 没有被初始化 4、在Java中,下面关于包的陈述 中正确的是( D )。

A. 包的声明必须是源文件的任意位置; B. 包的声明必须紧跟在import 语句的后面; C. 只有公共类才能放在包中; D. 可以将多个源文件中的类放在同一个包中 5、 在Java 语言中,当一个类的某个变量声明为protected 时下列说法正确的是( C )。 A. 只有同一类中的成员才能访问它; B. 不同包中的任何其他类都能够访问它; C. 同包中的任何其他类能够访问它; D. 不同包中的子类不可以访问该变量。 6、在Java 中,执行下面的语句后,c 的值为( D )。 String s= "Jessica "; char c=s.charAt(6); A. "c " B. "a " C. 'c ' D. 'a ' 7、设有下面两个赋值语句: a = Integer.parseInt(“1024”); b = Integer.valueOf(“1024”).int Value(); 下述说法正确的是( D )。 A .a 是整数类型变量,b 是整数类对象。 B .a 是整数类对象,b 是整数类型变量。 C .a 和b 都是整数类对象并且它们的值相等。 D .a 和b 都是整数类型变量并且它们的值相等。 8、事件剪裁类如WindowAdapter (它实现了WindowListener 接

Java期末考试试卷1

信息学院2006—2007学年第二学期期末考试试题A 课程名称:Java 语言程序设计主讲:年级: 班级姓名学号 题号一二三四五合计 分数 一、选择(每题1分,共20分) 1.有一个名为MyClass的public类,想成功编译需满足以下哪个条件?() A. MyClass类中必须定义一个正确的main()方法。 B. MyClass必须定义在MyClass.java源文件中。 C. MyClass类必须定义在MyClass包中。 D. MyClass类必须被导入。 2.以下哪些修饰符不能用于顶层类?( ) A. public B. private C. abstract D. final 3.以下哪个是java中合法的关键字?( ) A. array B. Boolean C. protect D. super 4.以下哪些是合法的标识符?( ) A.%abcd B. 2abcd C. package D. _a_long_name 5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。这种面向对象程序的特性称为. () A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6.有以下代码,请问该程序的运行结果是什么?( ) class Example { public static void main(String args[]){ boolean b=true; System.out.println(b); } } A. 打印输出true B. 打印输出1 C.编译错误 D. 无内容输出 7.以下哪些是基本数据类型?( ) A.int B. String C. Integer D. Float 8. 给出以下代码,请选择正确的选项?( ) class Example{ public static void main(String[] args){ char a=”\u1234”; } } A. 代码编译成功 B. 代码编译成功,但有警告 C. 代码编译失败 9.以下哪个语句用于声明一个二维数组?( ) A. int[5][5] a=new int[][]; B. int a=new int[5,5] C. int[][] a=new int[5][5]; D. int[][] a=new [5]int[5]; 10.给出以下代码,请问该程序的运行结果是什么?()

java期末考试复习题及答案(1)

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) i nt x=-3; int y=-10; 、-1B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

JAVA语言程序设计期末考试试题及答案

J A V A语言程序设计期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J A V A语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0]

7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y

Java程序设计期末考试试题

Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

JAVA期末考试考卷及答案

《J A V A语言程序设计》期末考试模拟试题 一、单选择题(每小题2分,共10分) 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展 名为( B )。 A. .java B. .class C. .html D. .exe 2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方 法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为 前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题(每空格1分,共20分) 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。

MyApplet必须是 Applet 类的子类并且存储该源程序文件的文件名为MyApplet 。 3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译 器编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。 4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。 5、设 x = 2 ,则表达式 ( x + + )/3 的值是 1 。 6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。 7、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法方法是不能被当前类的子类重新定义的方法。 8、创建一个名为 MyPackage 的包的语句是 package MyPackag , 该语句应该放在程序的位置为:应该在程序第一句。 9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。 int s = 0 ; for ( int i = 0 ; i < ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; 10、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

java期末考试试题(含答案)

模拟B卷 考试说明: 1.使用Eclipse编写程序。项目名称为:班级_姓名_学号_卷号。注意:卷号为A或B 2.在项目文件夹下新建一个文本文件,文件名为:答案.txt 3.将编程题外的所有题目写在文本文件中,答案要标明题号。 注意:考试期间遇到死机等问题,需要请示老师,切勿自行解决。否则后果自负。 一、单项选择题:共20题,每小题1分,满分20分 1、下列选项中,不属于Java语言特点的一项是。( D ) A、安全性 B、分布式 C、面向对象 D、编译执行 2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C ) A、面向对象 B、有类库 C、跨平台 D、动态链接 3、如下哪个不是Java中有效的变量名。( A ) A、 if B、hello C、name D、good 4、下列不属于Java保留字的一个是( B )。 A、else B、Unicode C、if D、static 5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应 该是( C )。 A、’a’ B、12 C、’c’ D、语句在编译时出错 6、下列关于int类型和long类型的说法中,正确的一个是( A )。 A、int类型可以自动转换为long类型 B、long类型可以自动转换为int类型 C、long类型占的存储空间比int类型的小 D、long类型和int类型数据能表示整数的范围一样 7、下列类的定义中,错误的是( B )。 A、class y{ .... } B、public x extends y{ .... } C、public class x extends y{ .... } D、class x extends y implements y1{ .... } 8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2 9、为了区分重载多态中同名的不同方法,要求( C )。 A、调用时用类名或对象名做前缀 B、返回值类型不同 C、形式参数个数或者类型不同 D、形式参数名称不同 10、定义类头时能使用的修饰符是( C )。 A、private B、static C、protected D、abstract 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )

JAVA期末考试试卷及答案

二.选择题; 1.以下哪个方法用于定义线程的执行体?( C ) A、 start() B、init() C、run() D、synchronized() 2.下面哪个不是Java中的容器? (B ) A、 ScrollPane B、Canvas C、Applet D、Dialog 3.下面哪个方法与applet的显示无关?(A ) A、draw() B、 update() C、repaint() D、paint() 4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式? (A) A、 FlowLayout B、CardLayout C、BorderLayout D、GridLayout 5.有如下代码段: 1) 2) { if(unsafe()){//do something…} 3) else if(safe()){//do the other…} 4) } 其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?(D ) A、public IOException methodName() B、public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException 6.以下哪个关键字可以用来对对象加互斥锁?(B) A、transient B、synchronized C、serialize D、static 7.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。 A、private B、protected C、private protected D、public 8.编译并运行以下程序,以下描述哪个选项是正确的( C ) 1. class A{ 2. protected boolean equals(){ 3. return super.equals();} 4. } A、编译通过运行无异常 B、编译通过但运行时出错 C、行2出错,不能成功编译 D、不能成功编译,行3出错 9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B)个比特位。 A、8 B、16 C、32 D、64 10.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。 A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 11.以下关于构造函数的描述错误的是(A )。 A、构造函数的返回类型只能是void型。 B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。

相关文档
最新文档