JAVA程序设计习题15章学生作业.docx

上传人:b****2 文档编号:24591473 上传时间:2023-05-29 格式:DOCX 页数:15 大小:19.83KB
下载 相关 举报
JAVA程序设计习题15章学生作业.docx_第1页
第1页 / 共15页
JAVA程序设计习题15章学生作业.docx_第2页
第2页 / 共15页
JAVA程序设计习题15章学生作业.docx_第3页
第3页 / 共15页
JAVA程序设计习题15章学生作业.docx_第4页
第4页 / 共15页
JAVA程序设计习题15章学生作业.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

JAVA程序设计习题15章学生作业.docx

《JAVA程序设计习题15章学生作业.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计习题15章学生作业.docx(15页珍藏版)》请在冰豆网上搜索。

JAVA程序设计习题15章学生作业.docx

JAVA程序设计习题15章学生作业

JAVA程序设计练习题

(一)

一、单选择题

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

A.javaB.class

C.htmlD.exe

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

A.3B.3.5

C.4D.5

3、如下哪个是Java中的标识符()

A、publicB、superC、3numberD、width

4、如下哪个是Java中的标识符()

A、fieldnameB、thisC、3numberD、#number

5、如下哪个是Java中有效的关键字()

A、nameB、helloC、falseD、good

6、下面的代码段执行之后count的值是什么()

intcount=1;

for(inti=1;i<=5;i++){

count+=i;

}

System.out.println(count);

A、5B、1C、15D、16

7、定义一个类,必须使用的关键字是()

A、publicB、classC、interfaceD、static

8、定义一个接口必须使用的关键字是()

A、publicB、classC、interfaceD、static

9、下面程序段执行后b的值是()。

Integerinteg=newInteger(9);

booleanb=integinstanceofObject;

A)9B)trueC)1D)false

10、关于选择结构下列哪个说法正确?

 (  )

A.if语句和else语句必须成对出现

B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句

D.switch结构中必须有default语句

11、while循环和do…while循环的区别是:

  (  )

A.没有区别,这两个结构任何情况下效果一样

B.while循环比do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

D.do…while循环是先循环后判断,所以循环体至少被执行一次

12、关于for循环和while循环的说法哪个正确?

 (  )

A.while循环先判断后执行,for循环先执行后判断。

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

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

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

13、下列修饰符中与访问控制无关的是 (  )

A.private   B.public

C.protectedD.final

14、void的含义:

  (  )

A.方法没有返回值   B.方法体为空

C.没有意义    D. 定义方法时必须使用

15、return语句:

  (  )

A.只能让方法返回数值    B.方法都必须含有

C.方法中可以有多句return  D.不能用来返回对象

16、关于对象成员占用内存的说法哪个正确?

  (  )

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对

17、下列说法哪个正确?

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

18、下列说法哪个正确?

  (  )

A、一个程序可以包含多个源文件

B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类

D、一个源文件只能供一个程序使用

19、关于方法main()的说法哪个正确?

(  )

A.方法main()只能放在公共类中

Bmain()的头定义可以根据情况任意更改

C.一个类中可以没有main()方法

D.所有对象的创建都必须放在main()方法中

20、构造函数何时被调用?

  (  )

A、创建对象时     B、类定义时

C、使用对象的方法时  D、使用对象的属性时

21、 抽象方法:

  (  )

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法 

22、关于继承的说法正确的是:

  (  )

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性

23、关于构造函数的说法哪个正确?

  (  )

A、一个类只能有一个构造函数

B、一个类可以有多个不同名的构造函数

C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的构造函数

24、this和super:

A、都可以用在main()方法中

B、都是指一个内存地址

C、不能用在main()方法中

D、意义相同

25、关于super的说法正确的是:

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在main()方法中

26、覆盖与重载的关系是  (  )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

27、关于接口哪个正确?

  (  )

A、实现一个接口必须实现接口的所有方法

B.一个类只能实现一个接口

C.接口间不能有继承关系

D.接口和抽象类是同一回事

28、下面哪个表达式可用得到x和y的最大值?

()

A、x>y?

y:

xB、x

y:

x

C)、x>y?

(x+y):

(x-y)D、x==y?

y:

x

29、下列语句执行后,变量a、c的值分别是()。

intx=182;

inta,c;

c=x/100;

a=x%10;

A、1,2B、2,1C、1.82,2D、100,82

30、应用程序的main方法中有以下语句,则输出的结果是()。

Strings1="0.5",s2="12";

doublex=Double.parseDouble(s1);

inty=Integer.parseInt(s2);

System.out.println(x+y);

A、12.5B、120.5C、12D、“12.5”

二、填空题

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

和。

2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占

用字节内存空间。

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

4、若x=5,y=10,则x=y的逻辑值分别为和。

5、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

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

6、创建一个名为MyPackage的包的语句是,

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

7、在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。

8、如果将类MyClass声明为public,它的文件名称必须是才能正常编译。

9、Java程序中的单行注释符是,多行注释符是。

10、Java中布尔类型的常量有两种,它们是和。

11、Java中用于定义小数的关键字有两个:

和,后者精度高于前者。

12、Java中用于两个数相等比较的运算符是:

,用于不相等比较的运算符是。

13、导入mypackage包中的所类的命令是。

14、假设x=13,y=4,则表达式x%y!

=0的值是,其数据类型是。

15、以下程序段的输出结果是

intx=5,y=6,z=4;

if(x+y>z&&x+z>y&&z+y>x)

System.out.println("三角形");

else

System.out.println("不是三角形");

16、定义类的保留字是,定义接口的保留字是。

17、构造方法是一种特殊的成员方法,构造方法名与相同。

18、Java语言只允许单继承,指每个类只能有一个。

19、Java源程序的扩展名是,经过编译后的程序的扩展名是。

20、创建类的对象时,使用运算符___________给对象分配内存空间。

21、定义类的构造方法不能有返回值类型,其名称与_____名相同。

22、Java语言中关键字_____表示双精度类型。

23、若有类定义:

classBextendsA{

}

则类B是类A的______。

24、接口中的成员只有静态常量和______。

25、在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。

三、写出下面程序的运行结果

1、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

ABs=newAB("Hello!

","IloveJAVA.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2)

{

s1=str1;

s2=str2;

}

publicStringtoString()

{

returns1+s2;

}

}

运行结果:

2、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

System.out.println("a="+a+"\nb="+b);

}

}

classSubClassextendsSuperClass

{intc;

SubClass(intaa,intbb,intcc)

{

super(aa,bb);

c=cc;

}

}

classSubSubClassextendsSubClass

{inta;

SubSubClass(intaa,intbb,intcc)

{super(aa,bb,cc);

A=aa+bb+cc;

}

voidshow()

{

System.out.println("a="+a+"\nb="+b+"\nc="+c);

}

}

运行结果:

3、给出以下程序的输出结果。

publicclassPerson{

Stringname;

intage;

publicPerson(Stringname,intage){

this.name=name;

this.age=age;

}

publicstaticvoidmain(String[]args){

Personc=newPerson("Peter",17);

System.out.println(c.name+"is"+c.age+"yearsold!

");

}

}

结果为:

四、读程序填空题

1.publicclassSum{

publicstaticvoidmain(String[]args){

intj=10;

System.out.println("jis:

"+j);

calculate(j);

System.out.println("Atlast,jis:

"+j);

}

staticvoidcalculate(intj){

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

j++;

System.out.println("jincalculate()is:

"+j);

}

}

输出结果为:

jis:

 

(1)

jincalculate()is:

(2)

Atlastjis:

 (3)

答案:

(1)

(2)

(3)

2.按要求填空

abstractclassSuperAbstract{

voida(){…}

abstractvoidb();

abstractintc(inti);

}

interfaceAsSuper

{

voidx();

}

abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper

{

publicvoidb(){…}

abstractStringf();

}

publicclassInheritAbstractextendsSubAbstract{

publicvoidx(){…}

publicintc(inti){…}

publicStringf(){…}

publicstaticvoidmain(Stringargs[]){

InheritAbstractinstance=newInheritAbstract();

instance.x();

instance.a();

instance.b();

instance.c(100);

System.out.println(instance.f());

}

}

在以上这段程序中:

抽象类有:

SuperAbstract和 

(1)  (写出类名)

非抽象类有:

       

(2)  (写出类名)

接口有:

         (3)  (写出接口名)

AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)       

答案:

(1)

(2)

(3)

(4)

(5)

3.按注释完成程序

publicclassLeaf{

privateinti=0;//此属性值用于检验

Leafincrement(){//定义方法increment(),返回值是Leaf类的对象

i++;

return

(1);//将当前对象的地址作为返回值返回

}

voidprint(){

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

}

publicstaticvoidmain(Stringargs[]){

Leafx=

(2);//创建Leaf类的对象x

x.increment().increment().increment().print();

}//多次调用方法increment(),返回的都是x的地址,i值表示调用次数

}

输出结果为i=(3)

答案:

(1)

(2)

(3)

4. 阅读程序,给出结果:

//AbstractClassDemo.java源代码如下:

abstractclassShape{//定义抽象类Shape和抽象方法display

abstractvoiddisplay();

}

classCircleextendsShape{

voiddisplay(){//实现抽象类的方法

System.out.println("Circle");

}

}

classRectangleextendsShape{

voiddisplay(){//实现抽象类的方法

System.out.println("Rectangle");

}

}

classTriangleextendsShape{

voiddisplay(){//实现抽象类的方法

System.out.println("Triangle");

}

}

publicclassAbstractClassDemo{

publicstaticvoidmain(Stringargs[]){

(newCircle()).display();//定义无名对象来调用对应的display方法

(newRectangle()).display();

(newTriangle()).display();

}

}

输出结果是?

答案:

(1)

(2)(3)

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

当前位置:首页 > 教学研究 > 教学计划

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

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