java期末考试样卷及说明要看啊.docx

上传人:b****3 文档编号:26448504 上传时间:2023-06-19 格式:DOCX 页数:19 大小:21.62KB
下载 相关 举报
java期末考试样卷及说明要看啊.docx_第1页
第1页 / 共19页
java期末考试样卷及说明要看啊.docx_第2页
第2页 / 共19页
java期末考试样卷及说明要看啊.docx_第3页
第3页 / 共19页
java期末考试样卷及说明要看啊.docx_第4页
第4页 / 共19页
java期末考试样卷及说明要看啊.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java期末考试样卷及说明要看啊.docx

《java期末考试样卷及说明要看啊.docx》由会员分享,可在线阅读,更多相关《java期末考试样卷及说明要看啊.docx(19页珍藏版)》请在冰豆网上搜索。

java期末考试样卷及说明要看啊.docx

java期末考试样卷及说明要看啊

南京信息工程大学

滨江学院JAVA期末考试试卷

一、选择题

1.如下哪个字符串是Java中的合法标识符?

(A)

A、fieldnameB、superC、3numberD、#number

2.Java中main()函数的返回值是什么类型?

(D)

A、StringB、intC、charD、void

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

(C)

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

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

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

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

4.以下关于继承的叙述正确的是(B)。

A、在Java中一个类只能实现一个接口

B、在Java中类只允许单一继承

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

5.JavaApplet中的paint()方法使用哪种类型的参数?

(A)

A、GraphicsB、Graphics2D

C、StringD、Color

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

A、privateB、protected

C、privateprotectedD、public

7.下面(B)函数是publicvoidexample(){...}的重载函数?

A、publicvoidexample(){...}

B、publicvoidexample(intm){...}

C、publicvoidexample2(){...}

D、publicintexample(){...}

8.在浏览器中执行applet程序,以下选项中的(A)方法将被最先执行。

A、init()B、start()C、destroy()D、stop()

9.有程序片段如下,以下表示式的结果为true的是(B)。

Floats=newFloat(0.1f);

Floatt=newFloat(0.1f);

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]);

}

}

请问哪个语句是正确的?

(B)

A程序输出nullB程序输出0

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

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

14.Java语言不是(C)

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

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

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

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

try{

intx[]=newint[-5];

System.out.println("此行将无法被执行!

");

}catch(NegativeArraySizeExceptione){

System.out.println("exception:

数组下标不能为负数。

");

}

}

}

A、编译通过,输出:

此行将无法被执行!

B、编译通过,输出:

此行将无法被执行!

exception:

数组下标不能为负数。

C、编译通过,输出:

exception:

数组下标不能为负数。

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 )。

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

C、final  void  method()       D、abstract  void  method()

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

(  C  )。

publicclassTest5{

publicstaticvoidmain(Stringargs[]){

Strings1=newString("hello");

Strings2=newString("hello");

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关键字的是(  D  )。

A、finalB、finallyC、nullD、sizeof

21.以下(  C  )是java.io包中的一个兼有输入输出功能的类。

A、Object

B、Serializable

C、RandomaccessFile

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

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

( D   )

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

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

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

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

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

A.javaB.class

C.htmlD.exe

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

( D  )

AFilestreamBPipestreamCRandomstreamDFilterstream

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

(   C )

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();

以下哪种操作是合法的?

( A   )

As3=s1+s2;

Bs3=s1-s2;

Cs3=s1&s2;

Ds3=s1&&s2;

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

ABorderLayoutBFlowLayout

CGridLayoutDCardLayout

28.给出如下代码:

classTest{

privateintm;

  publicstaticvoidfun(){

    //somecode...

  }

}

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

(  C  )

A将privateintm改为protectedintm

B将privateintm改为publicintm

C将privateintm改为staticintm

D将privateintm改为intm

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

(  D  )

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

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

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

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

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

(  A  )

A intx=1;y=2;z=3Bfor(intx=10,y=0;x>0;x++);

C while(x>5);Dfor(;;);

二、简答题

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

答:

this:

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

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

super:

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

final:

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

2、试解释方法重构和方法重载的区分。

P63

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

继承、多态、重载。

继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

对象的一个新类可以从现有的类中派生,这个过程称为类继承。

新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

多态性:

多态性是指允许不同类的对象对同一消息作出响应。

多态性包括参数化多态性和包含多态性。

多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

重载方法:

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

简单的说:

一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。

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

P95

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

P50

三、阅读程序

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

publicclassTestArray

{

publicstaticvoidmain(Stringargs[]){

inti,j;

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

for(i=0;i

intk=i;

for(j=i;j

if(a[j]

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;i

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

System.out.println();

}

}

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

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

(每空1分)

importjava.io.*;

public___class____Assign

{

publicstaticvoidmain(Stringargs[])

{

  ___byte____b=50;

    ___float__f=0.55F;

    ___long____k=0xfffL;

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

    System.out.println("f="__+f____);

    System.out.println("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){

System.out.println("Willnotbeexecuted");}

finally{

System.out.println("finally");}

}

publicstaticvoidmain(Stringargs[]){

Proc(0);Proc

(1);

}

}

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

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

{

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方法,实现输出该类对象的坐标值。

packagezjw;

publicclassPoint{

intx,y;

Point()

{

x=0;y=0;

}

Point(inta,intb)

{

this.x=a;

this.y=b;

}

publicvoidshow()

{

System.out.println("该类x坐标值为"+this.x);

System.out.println("该类y坐标值为"+this.y);

}

}

packagezjw;

publicclasstest1{

publicstaticvoidmain(String[]args){

Pointp=newPoint(1,16);

p.show();

}

}

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

packagezjw;

importjava.util.*;

importjava.io.*;

publicclasstest2{

/*从键盘中读取一行字符串*/

publicstaticStringreadString()

{

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in),1);

Stringstring="";

try

{

string=br.readLine();

}catch(IOExceptionex)

{

System.out.println(ex);

}

returnstring;

}

publicstaticvoidmain(String[]args){

//TODO自动生成方法存根

Stringline;

StringTokenizertoken;

intnum=0;

System.out.print("请输入一行字符:

");

line=readString();

token=newStringTokenizer(line);

inttl=token.countTokens();

String[]str=newString[tl];

for(inti=0;i

{

str[i]=token.nextToken();

}

System.out.println("您输入的文字中单词的个数为:

"+str.length);

System.out.println("有四个字母组成的单词为:

");

for(inti=0;i

{

if(str[i].length()==4)

{

System.out.println(str[i]);

}

}

}

}

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

packagezjw;

importjava.util.*;

importjava.io.*;

publicclassTest3{

/*从键盘中读取一行字符串*/

publicstaticStringreadString()

{

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in),1);

Stringstring="";

try

{

string=br.readLine();

}catch(IOExceptionex)

{

System.out.println(ex);

}

returnstring;

}

publicstaticvoidmain(String[]args){

//TODO自动生成方法存根

Stringline;

System.out.print("请输入一行字符:

");

line=readString();

System.out.print("\r");

intnuma=0,numi=0,nume=0,numu=0,numo=0;

intlength=line.length();

for(inti=0;i

{

switch(line.charAt(i)){

case'a':

case'A':

numa++;

break;

case'i':

case'I':

numi++;

break;

case'u':

case'U':

numu++;

break;

case'e':

case'E':

nume++;

break;

case'o':

case'O':

numo++;

break;

default:

break;

}

}

System.out.println("元音a出现的次数为:

"+numa);

System.out.println("元音i出现的次数为:

"+numi);

System.out.println("元音e出现的次数为:

"+nume);

System.out.println("元音u出现的次数为:

"+numu);

System.out.println("元音o出现的次数为:

"+numo);

}

}

4、编写程序计算12+22+32+42+……+972+982+992+1002的值并输出。

packagezjw;

publicclasstest4{

pub

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

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1