仅供参考java期末考试样卷答案文档格式.docx

上传人:b****1 文档编号:3783904 上传时间:2023-05-02 格式:DOCX 页数:20 大小:312.15KB
下载 相关 举报
仅供参考java期末考试样卷答案文档格式.docx_第1页
第1页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第2页
第2页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第3页
第3页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第4页
第4页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第5页
第5页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第6页
第6页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第7页
第7页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第8页
第8页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第9页
第9页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第10页
第10页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第11页
第11页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第12页
第12页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第13页
第13页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第14页
第14页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第15页
第15页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第16页
第16页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第17页
第17页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第18页
第18页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第19页
第19页 / 共20页
仅供参考java期末考试样卷答案文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

仅供参考java期末考试样卷答案文档格式.docx

《仅供参考java期末考试样卷答案文档格式.docx》由会员分享,可在线阅读,更多相关《仅供参考java期末考试样卷答案文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

仅供参考java期末考试样卷答案文档格式.docx

Doubleu=newDouble(0.1);

A、s==tB、s.equals(t)

C、u.equals(s)D、t.equals(u)

10.关于异常的含义,下列描述中最正确的一个是(C)。

A程序编译错误  B程序语法错误

C程序运行时的错误  D程序编译和运行时发生的错误

11.类Panel默认的布局管理器是(B)。

A、BorderLayoutB、FlowLayout

C、GridLayoutD、CardLayout

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

(B)

A、update()B、draw()

C、repaint()D、paint()

13.已知如下代码:

publicclassTest{

publicstaticvoidmain(Stringarg[])

{

longa[]=newlong[10];

System.out.println(a[6]);

}

请问哪个语句是正确的?

A程序输出nullB程序输出0

C因为long[]数组声明不正确,程序不能被编译

D程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常

14.Java语言不是(B)

A、高级语言B、编译型语言

C、结构化设计语言D、面向对象设计语言

15.关于以下程序段的说明正确的是(C)

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

try{

intx[]=newint[-5];

System.out.println("

此行将无法被执行!

"

);

}catch(NegativeArraySizeExceptione){

exception:

数组下标不能为负数。

}

}

A、编译通过,输出:

此行将无法被执行!

B、编译通过,输出:

exception:

C、编译通过,输出:

D、编译不能通过

16.Java源文件和编译后的文件扩展名分别为(B)。

A、.class和.javaB、.java和.class

C、.class和.classD、.java和.java

17.以下有关构造函数的说法,正确的是:

(A)。

A、一个类的构造函数可以有多个

B、构造函数在类定义时被调用

C、构造函数只能由对象中的其它方法调用

D、构造函数可以和类同名,也可以和类名不同

18.为类Employee中的一个无形式参数且无返回值的方法method书写方法头,以便使用类名Employee作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( 

 

 

)。

A、static 

void 

method() 

B、public 

C、final 

D、abstract 

method()

19.下列代码的执行结果是:

( 

publicclassTest5{

publicstaticvoidmain(Stringargs[]){

Strings1=newString("

hello"

Strings2=newString("

System.out.print(s1==s2);

System.out.print("

"

System.out.println(s1.equals(s2));

A、true,falseB、true,true

C、false,trueD、false,false.

20.下列不是Java关键字的是( 

A、finalB、finallyC、nullD、sizeof

21.以下( 

)是java.io包中的一个兼有输入输出功能的类。

A、Object

B、Serializable

C、RandomaccessFile

D、java.io中不存在这样的类

22.下面哪个语句正确地声明一个整型的二维数组?

Ainta[][]=newint[][];

Binta[100][100]=newint[][];

Cint[]a[]=newint[100][100];

Dinta[][]=newint[100][100];

23.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( 

A.javaB.class

C.htmlD.exe

24.为读取的内容进行处理后再输出,需要使用下列哪种流?

AFilestreamBPipestreamCRandomstreamDFilterstream

25.下列方法中可以用来创建一个新线程的是。

( 

A实现java.lang.Runnable接口并重写start()方法

B实现java.lang.Runnable接口并重写run()方法

C继承java.lang.Thread类并重写run()方法

D实现java.lang.Thread类并实现start()方法

26.给出如下初始化语句

Strings1=newString(“Hello”);

Strings2=newString(“there”);

Strings3=newString();

以下哪种操作是合法的?

As3=s1+s2;

Bs3=s1-s2;

Cs3=s1&

s2;

Ds3=s1&

&

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

ABorderLayoutBFlowLayout

CGridLayoutDCardLayout

28.给出如下代码:

classTest{

privateintm;

  publicstaticvoidfun(){

    //somecode...

  }

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

A将privateintm改为protectedintm

B将privateintm改为publicintm

C将privateintm改为staticintm

D将privateintm改为intm

29.以下有关类的继承的说明中正确的是:

A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性

B子类只能继承父类的方法,不能继承父类的属性

C子类只能继承父类的非私有属性,不能继承父类的方法

D子类不能继承父类的私有属性

30.以下语句有语法错的是:

intx=1;

y=2;

z=3Bfor(intx=10,y=0;

x>

0;

x++);

while(x>

5);

Dfor(;

;

二、简答题

1、请说明this,super,final各自的作用。

this:

①指代调用方法的当前对象;

②在构造函数内使用this用于指代另外一个构造函数。

super:

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

final:

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

2、试解释方法重构(方法覆盖)和方法重载的区分。

方法的覆盖出现在父类与子类之间,并且方法的特征要完全相同。

方法的重载可以出现在一个类中,也可以分别出现在父类与子类中,方法的特征一定不完全相同。

3、请解释面向对象程序设计相关的几个概念:

继承、多态、重载。

继承:

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

多态:

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

重载:

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

4、请说明抽象类和接口的异同点。

抽象类:

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

接口:

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

相同点:

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

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

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

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

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

不同点:

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

②在抽象类中,除空方法外,还可以定义实例变量和非空方法;

而在接口中,只能定义常量和空方法。

③接口允许多继承。

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

5、实例变量与局部变量的区别

实例变量:

也叫对象变量,在类中定义的没加static的变量,与类变量不同,类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果,而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象。

局部变量:

在方法中定义的只在特定的方法中可以访问的变量。

区别:

①局部变量定义在方法里面,实例变量定义在类以内方法之外;

②局部变量只能在定义他的方法里面使用,直接调用变量名就行,实例变量至少可以在整个类内使用,使用时必须用对象去调用;

③局部变量使用之前必须初始化,实例变量不需要赋初值,系统会给默认的初值;

④局部变量在同一个方法里面不能重名,局部变量和实例变量可以重名,在方法里面采用就近原则,以局部变量为准;

⑤实例变量属于对象,它描述了对象的属性,随着对象的存在而存在,局部变量是随着方法的调用而存在,一旦方法调用结束,局部变量也就消亡了。

三、阅读程序

1.以下程序段的输出结果为56789。

publicclassTestArray

publicstaticvoidmain(Stringargs[]){

inti,j;

inta[]={5,9,6,8,7};

for(i=0;

i<

a.length-1;

i++){

intk=i;

for(j=i;

j<

a.length;

j++)

if(a[j]<

a[k])k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;

i<

a.length;

i++)

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

"

System.out.println();

}

2.编程填空(将横线上所缺的内容补充完整)

下列程序中(Assign.java),指定变量b=50为字节类型,变量f=0.55F为单精度实型,变量k=0xfffL为64位整型,并将该三个变量打印输出,请将程序补充完整。

(每空1分)

importjava.io.*;

public_______Assign

publicstaticvoidmain(Stringargs[])

  _______b=50;

    _______f=0.55F;

    _______k=0xfffL;

    System.out.println("

b="

+b);

f="

_______);

k="

+k);

  }

3.写出以下程序的运行结果noException;

finally;

catch;

finally。

publicclassTryCatchFinally{

staticvoidProc(intsel){

try{

if(sel==0){

System.out.println("

noException"

return;

elseif(sel==1){inti=0;

intj=4/i;

}

catch(ArithmeticExceptione){

System.out.println("

Catch"

catch(Exceptione){

Willnotbeexecuted"

finally{

finally"

}

publicstaticvoidmain(Stringargs[]){

Proc(0);

Proc

(1);

4.阅读以下程序,写出输出结果Dog程序方法不能被继承。

classAnimal{

Animal(){System.out.print("

Animal"

publicclassDogextendsAnimal{

Dog(){System.out.print("

Dog"

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();

5.阅读以下程序:

classExp1

publicstaticvoidmain(String[]args)

{

Strings,s1="

;

charc;

s=args[0];

for(inti=0;

i<

s.length();

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命令行输入:

javaExp1DEFabc,则输出为defABC。

6.阅读下面的程序,并回答问题。

importjava.io.*;

publicclassTest{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

while(true){

Stringstr=buf.readLine();

if(str.equals("

quit"

))

break;

intx=Integer.parseInt(str);

System.out.println(x*x);

编译运行上面的程序:

1)从键盘输入10,回车后输出的结果为100。

2)从键盘输入exit,回车后程序能正确执行吗?

为什么?

不能,exit不能转换成数字。

四、编程题

1、写出一个Point(点)类,该类具有x,y(表示点的横、纵坐标)两个属性,并定义两个构造方法,一个无参数,将x,y均设置为0,另一对坐标值为参数,设置x,y为给定坐标值。

在类中设计一个show方法,实现输出该类对象的坐标值。

2、假设我们从键盘输入一段英文,统计这段文字中单词的个数,并输出其中由四个字母组成的单词。

3、从键盘输入一行文本,显示其中各元音字母出现的次数。

4、

5、编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

6.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2