JAVA期末考试试题及答案.docx

上传人:b****5 文档编号:7962975 上传时间:2023-01-27 格式:DOCX 页数:42 大小:43.69KB
下载 相关 举报
JAVA期末考试试题及答案.docx_第1页
第1页 / 共42页
JAVA期末考试试题及答案.docx_第2页
第2页 / 共42页
JAVA期末考试试题及答案.docx_第3页
第3页 / 共42页
JAVA期末考试试题及答案.docx_第4页
第4页 / 共42页
JAVA期末考试试题及答案.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

JAVA期末考试试题及答案.docx

《JAVA期末考试试题及答案.docx》由会员分享,可在线阅读,更多相关《JAVA期末考试试题及答案.docx(42页珍藏版)》请在冰豆网上搜索。

JAVA期末考试试题及答案.docx

JAVA期末考试试题及答案

JAVA语言程序设计考试试题及部分答案

一、单选题:

(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项就是正确得,请将正确选项得标记写在题干后得括号内。

 

1.下列语句序列执行后,k 得值就是( B )。

intm=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 +2B)a[0]=7; 

C)i++---j;  D)a(0) =66;

3.Java语言得类间得继承关系就是(B)。

 

A) 多重得B)单重得 C)线程得D) 不能继承

4.设有定义 inti= 6 ;,则执行以下语句后,i得值为( C)。

 

i+= i- 1;

A)10B)121C) 11D)100

5.下列选项中,用于在定义子类时声明父类名得关键字就是(C)。

A)interfaceB)packageC) extendsD) 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)。

charch1='A',ch2=’W’;

if(ch1+2 〈 ch2) ++ch1;

A)’A' B)'B'C)’C' D) B

8.下列语句序列执行后,i得值就是( D)。

inti=8,j=16; 

if(i-1>j)i——;elsej——;

A)15B)16C)7D) 8

9.下列语句序列执行后,k得值就是(C )。

 

inti=10,j=18, k=30;

switch(j-i) 

{case8 :

k++;

case9:

k+=2;

case10:

k+=3;

default :

k/=j;

} 

A)31B)32C)2D)33

10。

下面语句执行后,i得值就是( B)。

for(inti=0,j=1;j〈 5; j+=3)i=i+j;

A)4 B) 5C)6D) 7

11。

设有定义floatx=3、5f,y=4、6f, z=5、7f;则以下得表达式中,值为true得就是(B)。

 

A) x>y|| x >zB) x !

= y 

C) z 〉 (y+x)D) x 〈 y&!

(x 〈 z)

12.下列语句序列执行后,i得值就是(D)。

 

inti=16;

do {i/=2;} while(i >3 );

A) 16B) 8C)4 D)2

13。

以下由 for语句构成得循环执行得次数就是(B)。

 

for (int i =0;true;i++);

A)有语法错,不能执行B) 无限次

C)执行1次D)一次也不执行

14.定义类头时能使用得修饰符就是(C)。

 

A)privateB) staticC)abstractD)protected

15。

设int型变量a、b,float 型变量x、y,char型变量ch 均已正确定义并赋值,

正确得switch语句就是D)。

A)switch(x +y) B)switch(ch+1)

{、、、、、、} {、、、、、、 } 

C)switchch  D)switch(a+b);

{、、、、、、}    { 、、、、、、}

16、下列最终属性 i得定义中,正确得就是()。

A)staticfinalinti=100;B)finalint i=1、2;

C)finali='w';D)finalchar i;

17、下列类定义中,不正确得就是(C )。

 

A) classx {、、、、}

B)classx extendsy {、、、、 }

C) staticclass ximplementsy1,y2{、、、、 }

D)publicclassx extends Applet {、、、、}

18、 设x、y为已定义得类名,下列声明x类得对象x1得语句中正确得就是( ). 

A)staticxx1;B)publicxx1=newx(int123);

C)yx1;D) xx1=x();

19、 设i、j、k为类x中定义得int 型变量名,下列类x得构造函数中不正确得就是(B )。

A)x(int m){ 、、、}B)voidx(intm){、、、}

C) x(intm, intn){、、、} D) x( int h,intm,int n){、、、}

20、 下列方法定义中,正确得就是(A )。

A)intx(){charch='a';return(int)ch; } 

B)voidx( ){、、、return true;}

C)intx( ){ 、、、return true;}

D)int x(inta,b){returna+b; }

21、 用于定义类成员得访问控制权得一组关键字就是(D)。

 

A)class, float,double,public 

B) float,boolean,int,long

C) char,extends,float,double

D)public,private,protected

22、不能构成循环得语句就是(C)。

 

A)for语句B) while语句 C)switch语句D) do__while语句

23、下列程序段执行后 b3得结果就是(D)。

 

booleanb1=true,b2, b3; 

24=b1?

b1:

b2;

A) 0 B)1C)true D)false

25 下面数据结构中,属于非线性得就是(B)。

A)线性表B) 树 C)队列D)堆栈

11、 设有定义int i=123;longj=456;下面赋值不正确得语句就是(D). 

A) j=i;B)j=(long)i; C) i=(int)j;D) i=j;

二、填空题:

(每空1分)

1、构造函数_没__有返回值。

 

2、Java语言中得浮点型数据根据数据存储长度与数值精度得不同,进一步分为float与___double_______两种具体类型. 

3、创建类对象得运算符就是__new。

 

4、当整型变量n得值不能被13除尽时,其值为 false 得Java语言表达式就是__n%13==0___________.

5、 在Java语言中,所有得数组都有一个lenght属性,这个属性存储了该数组得__元素个数。

6、 定义类就就是定义一种抽象得______父类______,它就是所有具有一定共性得对象得抽象描述。

7、 在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。

8、表达式3/6*5得计算结果就是____0____。

9、下面就是一个类得定义:

publicclass_intMyclass___________

intx, y; 

Myclass(inti, ___=0____) //构造函数 

x=i; 

y=j;

10、下面就是一个Java Application得主类得定义,其功能就是输出所有命令行参数.

importjava、io、*;

publicclassMyClass 

publicstatic voidmain(String args[]) 

{

if(args、length!

=_0__)

for(inti=0;i 〈args、length; i++)

System、out、println(_”i="+i__________);

elseSystem、out、println(没有命令行参数);

}

}

11下面就是一个小程序得主类myprogram得定义,其中A、B就是该主类所在源程序中已定义得另两个类得类名:

 

importjavaawt、*;

import java applet、*;

publicclassmyprogramextendsApplet//定义小程序得主类

Aa; Bb;

public_____myprogram ___ init( ) 

{a=newA();b=___new__B();}

}

12、Java得复合数据类型有 :

 类、数组与___接口____等.Java得简单数据类型有:

数值类型(整形与浮点类型),自负类型与布尔类型

13、表达式3/6*5得计算结果就是_0_______.

14、定义初值为10得10次方得长整型变量lvar得语句就是:

_______longlvar=1*e10___________________.

15、顺序结构、分支结构(或称选择结构)、__循环结构__________就是结构化程序设计得三种基本流程控制结构。

16、以下方法m 得功能就是求两参数之积得整数部分。

intm (float x,float y)

{_______k=(int)x*y___________;}

17、Java源程序文件编译后产生得文件称为____字节码____文件,其扩展名为___、class_______。

 

18.Java 与 c++都就是面向对象得程序设计语言。

三、程序分析:

(每题4分) 

1、下面就是一个排序得程序:

importjava、io、*;

publicclassTest56_Sort 

{

publicstaticvoidmain(Stringargs[ ])

int[]a={42,99,5,63,95,36,2,69,200,96};

System、out、println(排序前得数据序列:

);

ShowArray(a);

Sort(a);

System、out、println(排序后得数据序列:

); 

ShowArray(a); 

} 

public staticvoidSort(int[]x) 

intw;

for(inti=1;i

{ 

for(intj=0;j

if(x[j]>x[j+1])

{w=x[j]; x[j]=x[j+1];x[j+1]=w;}

/* if(i==1||i==2)ShowArray(x); 

if(i==2)break; */

}

publicstaticvoid ShowArray(intb[])

for(inti=0;i<b、length;i++) 

System、out、print(”b[i"+i+”]="+b[i]); 

System、out、println(); 

} 

}

问题:

如果将方法Sort( )中得一对注释符(/**/)去掉,程序输出得结果就是什么?

 

排序前得数据序列:

b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96

b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200

b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

排序后得数据序列:

b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

2、请写下程序得输出结果:

 

publicclassTest52

Stringstr1=”Hello,Javaworld!

 \t"; 

String str2="Hello, students!

" ; 

publicstaticvoidmain(Stringargs[])

{

System、out、print(str1);

System、out、println(str2); 

} 

输出结果:

3、请写下程序得输出结果:

publicclass T2_4{ 

publicstaticvoidmain(String[]args) 

  int i,j;

charc='*’;

 for(i=0;i〈5;i++) 

 {

  for(j=0;j〈=i;j++) 

  System、out、print(”*");

  System、out、println();

 }

}

输出结果:

4、请写下程序得输出结果:

publicclassex2_2

{

 publicstatic void main (Stringargs[ ]) 

  {

   intx,y; 

  byteb=6;

floatz=1、234f;

 doublew= 1、23;

   booleanflag; 

 x=12;

 y= 300;

  flag=x〉y;

 System、out、println("x>y==”+flag);

   flag=z>w;

    System、out、println(”z>w=="+flag);

四、问答题:

(每题5分,)

 1、Java得接口与C++得虚类得相同与不同处.

 由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面得方法或属性,现有得单继承机制就不能满足要求。

与继承相比,接口有更高得灵活性,因为接口中没有任何实现代码。

当一个类实现了接口以后,该类要实现接口里面所有得方法与属性,并且接口里面得属性在默认状态下面都就是publicstatic,所有方法默认情况下就是public、一个类可以实现多个接口。

  2、垃圾回收得优点与原理。

并考虑2种回收机制。

 Java语言中一个显著得特点就就是引入了垃圾回收机制,使c++程序员最头疼得内存管理得问题迎刃而解,它使得Java程序员在编写程序得时候不再需要考虑内存管理。

由于有个垃圾回收机制,Java中得对象不再有”作用域"得概念,只有对象得引用才有"作用域"。

垃圾回收可以有效得防止内存泄露,有效得使用可以使用得内存。

垃圾回收器通常就是作为一个单独得低级别得线程运行,不可预知得情况下对内存堆中已经死亡得或者长时间没有使用得对象进行清楚与回收,程序员不能实时得调用垃圾回收器对某个对象或所有对象进行垃圾回收。

回收机制有分代复制垃圾回收与标记垃圾回收,增量垃圾回收。

 3,谈谈final, finally,finalize得区别。

 Final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新得子类,不能作为父类被继承.因此一个类不能既被声明为abstract得,又被声明为final得。

将变量或方法声明为final,可以保证它们在使用中不被改变。

被声明为final得变量必须在声明时给定初值,而在以后得引用中只能读取,不可修改。

被声明为final得方法也同样只能使用,不能重载.

  Finally-再异常处理时提供finally块来执行任何清除操作。

如果抛出一个异常,那么相匹配得catch子句就会执行,然后控制就会进入finally块(如果有得话)。

 Finalize—方法名.Java技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要得清理工作。

这个方法就是由垃圾收集器在确定这个对象没有被引用时对这个对象调用得。

它就是在 Object类中定义得,因此所有得类都继承了它。

子类覆盖finalize()方法以整理系统资源或者执行其她清理工作.finalize()方法就是在垃圾收集器删除对象之前对这个对象调用得.

 4,数组有没有length()这个方法?

String有没有length()这个方法?

举例说明使用方法?

数组没有length()这个方法,有length得属性。

 

String有有length()这个方法。

5、 Java中得异常处理机制得简单原理与应用。

 

  当JAVA程序违反了JAVA得语义规则时,JAVA虚拟机就会将发生得错误表示为一个异常。

违反语义规则包括2种情况。

一种就是JAVA类库内置得语义检查。

例如数组下标越界,会引发IndexOutOfBoundsException;访问null得对象时会引发NullPointerException、另一种情况就就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己得异常,并自由选择在何时用throw关键字引发异常。

所有得异常都就是java、lang、Thowable得子类。

五、程序设计:

(每题11分,共33分) 

1、编程:

编写一个截取字符串得函数,输入为一个字符串与字节数,输出为按字节截取得字符串。

但就是要保证汉字不被截半个,如"我ABC”4,应该截为"我AB”,输入”我ABC汉DEF",6,应该输出为"我ABC"而不就是”我ABC+汉得半个"。

2、编程求解:

所有两位整数能被3整除得数得与,以及不能被3整除得数得各位数字之与.

3、设计一个程序求解e得值.精度达到1、0e-6,

4、请设计一个对N个数进行排序得程序

一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题

1、关于Java语言叙述错误得就是:

(C )

A.Java语言具有跨平台性

B。

Java就是一种面向对象得语言

C.Java语言中得类可以多继承ﻫD.Java得垃圾收集机制自动回收程序已不再使用得对象

2、以下叙述正确得就是:

( B)得确台a

A.构造方法必须就是public方法ﻫ B.main方法必须就是public方法

 C。

Java应用程序得文件名可以就是任意得ﻫD。

构造方法应该声明为void类型

3、关于Java中数据类型叙述正确得就是:

(B)

A、整型数据在不同平台下长度不同

B。

boolean类型数据只有2个值,true与false

 C。

数组属于简单数据类型ﻫ D.Java中得指针类型与C语言得一样

4、设 intx=1,floaty=2,则表达式 x /y得值就是:

( D )ﻫ  A.0ﻫ  B。

1ﻫ  C。

2

  D。

以上都不就是ﻫ5、以下语句有语法错得就是:

(A )

  A。

intx=1;y=2;z=3

  B。

for(intx=10,y=0;x〉0;x++);

  C.while(x>5);ﻫ   D。

for(;;);

6、关于类与对象得叙述正确得就是:

(A)

A。

Java得类分为两大部分:

系统定义得类与用户自定义得类

B.类得静态属性与全局变量得概念完全一样,只就是表达形式不同

C。

类得成员至少有一个属性与一个方法ﻫD.类就是对象得实例化ﻫ7、以下有关构造方法得说法,正确得就是:

(A)ﻫ  A.一个类得构造方法可以有多个

  B.构造方法在类定义时被调用

  C.构造方法只能由对象中得其它方法调用ﻫ   D.构造方法可以与类同名,也可以与类名不同ﻫ8、以下有关类得继承得叙述中,正确得就是:

( D )ﻫ  A。

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

  B.子类只能继承父类得方法,不能继承父类得属性ﻫ  C。

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

   D。

子类不能继承父类得私有属性

9、下列属于容器得组件有:

(B)ﻫ  A。

JButton

   B.JPaneﻫ   C.Canvasﻫ  D。

JTextArea

10、void得含义:

(C)ﻫ  A。

方法体为空ﻫ  B。

定义得方法没有形参

   C.定义得方法没有返回值ﻫ   D。

方法得返回值不能参加算术运算ﻫ11、关于Java中异常得叙述正确得就是:

(D)

   A。

异常就是程序编写过程中代码得语法错误ﻫ  B。

异常就是程序编写过程中代码得逻辑错误

  C.异常出现后程序得运行马上中止

  D.异常就是可以捕获与处理得ﻫ12、所有得异常类皆继承哪一个类?

(C)

   A.java、io、Exception

  B.java、lang、Throwable

  C。

java、lang、Exceptionﻫ  D.java、lang、Error

13、下面哪个不就是java语言中得关键字?

(B)

  A.long

   B.sizeof

  C。

instanceofﻫ  D。

constﻫ14、为实现进程之间得通信,需要使用下列那种流才合适?

(D)ﻫ  A.Datastream

  B。

  C。

Buffered stream

  D.Pipedstream

15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?

(D)

  A.ActionListener

  B.MouseListener

  C.MouseMotionListernﻫ  D。

ItemListener

二、填空题(每空1分,共20分)

1、面向对象程序设计所具有得基本特征就是:

___抽象性___,_封装性___,_继承性__,_多态性__ﻫ2、数组x定义如下

  intx[][ ]=newint[3][2]

   则x、、length得值为____3________,

    x[0]、length得值为_____2_______.

3、Java中实现多线程一般使用两种方法,一就是___继承Thread类_________,二就是_____实现Runnable方法__________

4、Java得图形用户界面设计中,有很多布局管理器用来摆放组件得位置,一般用到得布局管理器有(列出四种即可)__FlowLayout_____,___GridLayout_____,

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

当前位置:首页 > 农林牧渔 > 林学

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

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