《Java 语言程序设计》阶段测试题.docx

上传人:b****7 文档编号:11056190 上传时间:2023-02-24 格式:DOCX 页数:15 大小:35.19KB
下载 相关 举报
《Java 语言程序设计》阶段测试题.docx_第1页
第1页 / 共15页
《Java 语言程序设计》阶段测试题.docx_第2页
第2页 / 共15页
《Java 语言程序设计》阶段测试题.docx_第3页
第3页 / 共15页
《Java 语言程序设计》阶段测试题.docx_第4页
第4页 / 共15页
《Java 语言程序设计》阶段测试题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《Java 语言程序设计》阶段测试题.docx

《《Java 语言程序设计》阶段测试题.docx》由会员分享,可在线阅读,更多相关《《Java 语言程序设计》阶段测试题.docx(15页珍藏版)》请在冰豆网上搜索。

《Java 语言程序设计》阶段测试题.docx

《Java语言程序设计》阶段测试题

《Java语言高级程序设计一》阶段测试题

(一)

题号

1

2

3

4

5

6

7

8

9

答案

题号

10

11

12

12

14

15

16

17

18

答案

题号

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

答案

一、选择题(共18题,每题5分,共90分)

试题1:

当你编译运行下列程序代码,会得到什么结果?

publicclassSample{

publicstaticvoidmain(Stringargs[]){

inti=4;

floatf=4.3;

doubled=1.8;

intc=0;

if(i==f)c++;

if(((int)(f+d))==((int)f+(int)d))c+=2;

System.out.println(c);

}

}

a)这段代码不能通过编译。

b)0输出在屏幕中。

c)1输出在屏幕中。

d)2输出在屏幕中。

e)3输出在屏幕中。

试题2:

当你编译运行下列程序代码,会得到什么结果?

classMystery{

Strings;

publicstaticvoidmain(String[]args){

Mysterym=newMystery();

m.go();

}

voidMystery(){

s="constructor";

}

voidgo(){

System.out.println(s);

}

}

a)这段代码不能通过编译。

b)这段代码能通过编译,但是运行时会有异常。

c)这段代码能运行,但不输出任何结果。

d)这段代码能运行并且输出constructor在屏幕中。

e)这段代码能运行并且输出null在屏幕中。

试题3:

当你编译运行下列程序代码,会得到什么结果?

privateclassBase{

Base(){

inti=100;

System.out.println(i);

}

}

publicclassPriextendsBase{

staticinti=200;

publicstaticvoidmain(Stringargv[]){

Prip=newPri();

System.out.println(i);

}

}

a)这段代码不能通过编译。

b)输出200。

c)输出100和200。

d)输出100。

试题4:

考虑以下代码,在注释的位置,插入哪条方法声明不会引起编译错误?

publicclassQdd1f{

publiclongsum(longa,longb){returna+b;}

//在这里插入新的方法

}

a)publicintsum(inta,intb){returna+b;}

b)publicintsum(longa,longb){return0;}

c)abstractintsum();

d)privatelongsum(longa,longb){returna+b;}

e)publiclongsum(longa,intb){returna+b;}

试题5:

当你编译运行下列程序代码,会得到什么结果?

classBase{

inti;

Base(){add

(1);}

voidadd(intv){i+=v;}

voidprint(){System.out.println(i);}

}

classExtensionextendsBase{

Extension(){add

(2);}

voidadd(intv){i+=v*2;}

}

publicclassQd073{

publicstaticvoidmain(Stringargs[]){

bogo(newExtension());

}

staticvoidbogo(Baseb){

b.add(8);

b.print();

}

}

a)9b)18c)20d)21e)22

试题6当你编译运行下列程序代码,会得到什么结果?

classBase{

voidtest(){System.out.println("Base.test()");}

}

publicclassChildextendsBase{

voidtest(){System.out.println("Child.test()");}

staticpublicvoidmain(String[]a){

BasebaseObj=newChild();

baseObj.test();

}

}

a)Child.test()

Base.test()

b)Base.test()

Child.test()

c)Base.test()

d)Child.test()

e)Runtimeerror.java.lang.ClassCastException

试题7当你编译运行下列程序代码,会得到什么结果?

01:

classBase

02:

{

03:

finalintMAX_SIZE;

04:

Base(){

05:

MAX_SIZE=10;

06:

}

07:

08:

voidtest(){

09:

MAX_SIZE++;

10:

System.out.println("Base.test()");

11:

}

12:

13:

}

a)在第9行产生编译错误:

不能改变常量MAX_SIZE的值

b)在第3行产生编译错误:

不能定义空常量MAX_SIZE

c)在第5行产生编译错误:

不能为空常量MAX_SIZE赋值

d)编译通过

试题8考虑下列代码,将产生什么结果?

publicclassTest{

publicstaticvoidmain(Stringargs[]){

Stringa=newString("One");

Stringb=newString("Two");

Test.swap(a,b);

System.out.println("ais"+a+"\nbis"+b);

}

staticvoidswap(Stringa,Stringb){

a=a+"more";

b=a;

}

}

a.aisOnemore

bisTwo

b.aisOne

bisOne

c.aisOnemore

bisOnemore

d.aisOne

bisTwo

e.aisOnemore

bisTwomore

试题9下列哪行语句不会产生编译警告和错误?

a)floatf=0;

b)charc="0";

c)byteb=157;

d)booleanf=null;

e)inti=10;

试题10下列哪一个是合法的Java标识符?

a)_1_

b)int

c)byte1

d)$Value

e)goto

f)3Value

试题11当你编译运行下列程序代码,会得到什么结果?

1:

publicclassBase{

2:

3:

privatevoidtest(){

4:

5:

StringaStr="One";

6:

StringbStr=newString();

7:

StringcStr=newString("Three");

8:

StringdStr=aStr;

9:

System.out.println(aStr+","+bStr+","+cStr+","+dStr);

10:

}

11:

12:

staticpublicvoidmain(String[]a){

13:

newBase().test();

14:

}

15:

}

a)第5行产生编译错误。

b)运行时错误。

变量dStr没有被初始化。

c)运行时错误。

在第9行报java.lang.NullPointerException异常。

d)输出One,,Three,,

e)输出One,,Three,One

试题12考虑下列类的层次关系:

(其中向上的实线箭头表示继承关系,向上的虚线箭头表示实现关系)

考虑下列程序代码:

1:

DrivingUtilitiesdu;

2:

FourWheelerfw;

3:

TruckmyTruck=newTruck();

4:

du=(DrivingUtilities)myTruck;

5:

fw=newCrane();

6:

fw=du;

下列哪句陈述是正确的?

a.第4行不能编译通过,因为接口不能引用对象;

b.这段代码可以编译运行;

c.第6行没有显式的类型转换不能编译通过,因为没有显式类型转换,不允许向下转型;

d.第4行可以编译通过,即使没有显式类型转换;

e.如果在第6行进行显式类型转换则可以编译通过,但会抛出运行时异常。

试题13当你编译运行下列程序代码,会得到什么结果?

publicclassBase{

privatevoidtest(){

System.out.println("Result:

"+6+6);

}

staticpublicvoidmain(String[]a){

newBase().test();

}

}

a)Result:

6

b)Result:

66

c)运行错误:

不兼容的类型,不能将整型转换为字符串。

d)编译错误:

不兼容的类型,不能把整型添加在字符串的后面。

e)Result:

12

试题14当你编译运行下列程序代码,会得到什么结果?

classX{

Yb=newY();

X(){

System.out.print("X");

}

}

classY{

Y(){

System.out.print("Y");

}

}

publicclassZextendsX{

Yy=newY();

Z(){

System.out.print("Z");

}

publicstaticvoidmain(String[]args){

newZ();

}

}

A.ZB.YZC.XYZD.YXYZ

试题15当你编译运行下列程序代码,会得到什么结果?

classBase{

inti=99;

publicvoidamethod(){

System.out.println("Base.amethod()");

}

Base(){

amethod();

}

}

publicclassDerivedextendsBase{

inti=-1;

publicstaticvoidmain(Stringargv[]){

Baseb=newDerived();

System.out.println(b.i);

b.amethod();

}

publicvoidamethod(){

System.out.println("Derived.amethod()");

}

}

A.Derived.amethod()

-1

Derived.amethod()

B.Derived.amethod()

99

Derived.amethod()

C.99

Derived.amethod()

Compiletimeerror

试题16当你编译运行下列程序代码,会得到什么结果?

classParent{

privatevoidmethod1(){

System.out.println("Parent'smethod1()");

}

publicvoidmethod2(){

System.out.println("Parent'smethod2()");

method1();

}

}

classChildextendsParent{

publicvoidmethod1(){

System.out.println("Child'smethod1()");

}

publicstaticvoidmain(Stringargs[]){

Parentp=newChild();

p.method2();

}

}

a.编译错误

b.运行时错误

c.Parent'smethod2()

Parent'smethod1()

d.Parent'smethod2()

Child'smethod1()

试题17当你编译运行下列程序代码,会得到什么结果?

publicclassTest{

publicvoidmethod(){

for(inti=0;i<3;i++){

System.out.print(i);

}

System.out.print(i);

}

}

a.0122b.0123c.编译错误d.以上都不对

试题18当你编译运行下列程序代码,会得到什么结果?

1.classMyClass

2.{

3.voidmyMethod(inti){System.out.println("intversion");}

4.voidmyMethod(Strings){System.out.println("Stringversion");}

5.publicstaticvoidmain(Stringargs[])

6.{

7.MyClassobj=newMyClass();

8.charch='c';

9.obj.myMethod(ch);

10.}

11.}

a.第4行编译通不过,因为voidmethods方法不能被重载

b.第9行将抛出一个异常

c.第9行编译通不过,因为没有将char型作为形参的myMethod()方法

d.可以编译运行,输出:

intversion

e.可以编译运行,输出:

stringversion

二、判断对错题(共10题,每题1分,共10分)

试题19类Fruit,Orange,GodenDelicious,Macintosh,Apple的继承关系如下图:

且有如下语句:

Fruitfruit=newGoldenDelicious();

Orangeorange=newOrange();

则判断对错:

(1)假设方法makeApple在类Apple中被定义,那么通过fruit对象可以调用这个方法。

(2)假设方法makeApple在类Apple中被定义,那么通过orange对象可以调用这个方法。

(1)假设方法makeOrangeJuice在类Orange中定义,那么通过orange对象可以调用这个方法。

(2)假设方法makeOrangeJuice在类Orange中定义,那么通过fruit对象可以调用这个方法。

(2)fruit是Orange的实例

(1)fruit是Apple的实例

(1)fruit是GoldDelicious的实例

(2)fruit是Macintosh的实例

(1)orange是Orange的实例

(1)orange是Fruit的实例

(2)orange是Apple的实例

三、附加题(共2题,共20分)

试题20(8分)

定义一个描述员工的类Employee,包含姓名name、性别sex、年龄age和薪水wage四个属性,方法包括构造方法和toString方法。

编写一个测试类,创建一个员工(李杨,男,36,6000),利用toString方法输出员工信息。

试题21(12分)

定义商品类Goods,包含单价unitPrice和数量account二个属性,方法包括构造方法和价格计算方法totalPrice()。

定义接口VipPrice,包含DISCOUNT属性和reducedPrice()方法,使VIP会员享受商品价格85折待遇。

定义服装子类Clothing,它继承商品类Goods并实现接口VipPrice,并有服装样式style属性、构造方法和toString方法。

编写一个测试类,创建一种服装(200,1,男装),利用toString方法输出服装信息。

 

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

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

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

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