java习题.docx

上传人:b****5 文档编号:12189291 上传时间:2023-04-17 格式:DOCX 页数:15 大小:21.66KB
下载 相关 举报
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复习题

一.填空(20分,每空2分)

1、Java中类成员的访问修饰符有以下几种:

private,public,protected,默认。

其中public的限定的范围最大。

2、Java中所有类都是object类的子类。

3、在运行时,由Java解释器自动引入,而不用import语句引入的包是java.lang。

4、多态是指多种表现形态的含义,在Java中有两种多态,一种是使用方法的覆盖实现多态,另一种是使用方法的重载实现多态。

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

6、字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示。

7、根据程序的构成和运行环境的不同,Java源程序分为两类:

Application程序、Applet程序。

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

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

10、创建一个名为MyPackage的包的语句是package。

11、声明在类中,方法之内的变量就叫做方法变量。

12、构造方法的名字必须和类名相同,无返回值类型,不能写void。

13、一个生命周期内的线程主要包括:

新建、就绪、运行、阻塞、死亡

14、在Java中使用"//"符号进行单行注释,使用"/*....*/"符号进行多行注释。

15、包含了抽象方法的类称为     。

16、在Java中可以采用扩展接口来解决多继承的问题。

17、指定线程阻塞多长时间的方法是Sleep。

18、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。

19、一个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:

javacMyJavaApplication.java

JavaMyJavaApplication

20、顺序执行以下两个语句的输出结果是:

20.

Strings="辽宁信息职业技术学院";

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

 

二.选择题(20分,每题2分)

1、做为Java应用程序入口的main方法,其声明格式是()。

A.publicstaticintmain(Stringargs[])

B.publicstaticvoidmain(Stringargs[])

C.publicvoidmain(Stringargs[])

D.publicintmain(Stringargs[])

2.下面的标识符哪个是错误的()

A.JavaworldB._sumC.2JavaprogramD.$abc

3、下面哪个单词是Java语言的关键字()。

A.FalseB.FORC.ForD.for

4、下面程序段的输出结果是()。

StringMyStr="Hello,";

MyStr=MyStr+"Guys!

";

System.out.println(MyStr);

A.Hello,Guys!

B.Hello,

C.Guys!

D.该程序段有语法错误

5、下列哪些说法是正确的?

A.Java语言只允许实现一个接口

B.Java语言只允许单一继承

C.Java语言不允许同时继承一个类并实现一个接口

D.接口不可以继承接口

6.JavaApplet源程序文件的扩展名为()。

A..javaB..classC..htmlD..exe

7、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成主类实例的初始化工作。

A.start()B.stop()C.init()D.paint()

8、创建一个标识有“关闭”按钮的语句是()。

A.TextFieldb=newTextField(“关闭”);

B.Labelb=newLabel(“关闭”);

C.Checkboxb=newCheckbox(“关闭”);

D.Buttonb=newButton(“关闭”);

9、在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。

A.if–elseB.switchC.tryD.throw

10、下面哪个关键字可以抛出异常?

A.transientB.finallyC.throwD.static

11、创建一个标识有“关闭”标签的语句是()。

A.TextFieldb=newTextField(“关闭”);

B.Labelb=newLabel(“关闭”);

C.Checkboxb=newCheckbox(“关闭”);

D.Buttonb=newButton(“关闭”);

12、下面程序段输出的结果是()。

inta=3;

intb=1;

if(a=b)

System.out.println(“a=”+a);

A.a=1

B.a=3

C.编译错误,没有输出

D.正常运行,但没有输出

13、return语句()。

A.不能用来返回对象B.只可以返回数值

C.方法都必须含有D.一个方法中可以有多个return语句

14、void的含义()。

A.方法体为空B.方法体没有意义

C.定义方法体必须使用D.方法无返回值

15、构造方法何时被调用()。

A.类定义时B.使用对象的变量时

C.调用对象方法时D.创建对象时

16、定义三个整型数组a1,a2,a3,下面声明正确的语句是()

A.intArray[]a1,a2;inta3[]={1,2,3,4,5};

B.int[]a1,a2;inta3[]={1,2,3,4,5};

C.inta1,a2[];inta3={1,2,3,4,5};

D.int[]a1,a2;inta3={1,2,3,4,5};

17、下列哪组数据类型所占的字节数相同()。

A.布尔型和字符型B.整型和单精度型

C.字节型和长整型D.整型和双精度型

18、指出下列哪个方法与方法publicvoidadd(inta){}不是合理的重载方法。

A.publicintadd(inta)

B.publicvoidadd(doublea)

C.publicvoidadd(inta,intb)

D.publicvoidadd(floata)

19.JAVA中所有类的最高父类为:

A)ObjectB)SystemC)AppletD)Throwable

20.已知jc()方法的定义如下所示,若在程序中调用jc方法的格式为:

intp=jc(5),则p的值为:

publicjc(intn)

{intp=1,m=1;

while(m<=n)

{

p=p*m;

m++;

}

returnp;

}

A)1B)24C)720D)120

21.JAVA中源代码经编译之后生成的字节码文件的扩展名为:

A).javaB).htmlC).classD).vjp

22.下面哪一个不是JAVA的访问控制符:

A)publicB)abstractC)privateD)protected

23.下面哪个是JAVA合法的标识符

A)finalB)2nameC)abc-1D)$Apple

24.下列选项中,JAVA语句错误的是()

A)double=3.5B)chara=322;C)floata=1.0D)doublea=1;

25.下列关于变量及其作用范围的叙述中,正确的是()P89

A)实例变量是类的成员变量

B)实例变量用关键字STATIC声明

C)在方法中定义的局部变量在该方法被的执行时创建

D)局部变量在使用前必须被初始化

三、判断题(10分,每题2分)

1. Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。

(对 )

2. 有的类定义时可以不定义构造函数,所以构造函数不是必需的。

( 错)

3. 抽象类中的抽象方法必需在该类的子类中具体实现。

(对 )

4. 最终类不能派生子类,最终方法不能被覆盖。

( 对 )

5. 一个Java类可以有多个父类。

(错)

6、一个Java类可以有一个父类,并实现多个接口。

(对  )

7接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

(  对)

8、设String对象s="Hi",则语句System.out.println(s.concat("Yohaoo!

"))的输出是

Hi,Yohaoo!

 (错  )

9、如果希望程序能够处理所有的异常,包括未知的异常,可以在所有的catch块后面加一个catch(Exceptione){}。

10、Class1类的属性被private修饰符修饰为私有变量,所以方法不能访问它。

11、抽象类没有具体对象,所以抽象类没有构造函数。

12、JAVA语言是不区分大小写的。

13、JAVA语言不含有指针与析构方法,所以JAVA程序只有结束运行才能释放占用的内存。

14、JAVA中String是基本数据类型错

四、写出下列程序完成的功能。

(每小题5分,共20分)

1、publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=1;

for(inti=1;i<=6;i++)

sum*=i;

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

}

}

求6的阶乘

2、publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

for(inti=1;i<=50;i++)

sum+=1.0/(double)i;

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

}

}

求1到50的倒数和

3.publicclassTest{

publicstaticvoidmain(String[]args){

inti=System.in.read();

switch(n){

default:

System.out.println(“deault”);

case1:

System.out.println(“1”);

Case2:

System.out.println(“2”);

break;

case3:

System.out.println(“3”);}}}

若输入n为1,则以上程序的输出结果为:

若输入n为7,则以上程序的输出结果为:

12default12

4.importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

SubClasssb=newSubClass();

System.out.println(sb.min());

}

}

classSuperClass

{

inta=7,b=18;

}

classSubClassextendsSuperClass

{

intmin()

{

return((a>b)?

a:

b);

}

}

求a、b中的大数

5.publicclassTest1{

publicstaticvoidmain(String[]args)

{

int[]a=newint[]{3,4,5,2,8};

for(int=0;i

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

}

}

顺序输出数组中所有元素。

6.importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassApplet1extendsAppletimplementsActionListener

{

Labelprompt;

Buttonbtn;

publicvoidinit()

{

prompt=newLabel("");

btn=newButton("显示");

add(btn);

add(prompt);

btn.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==btn)

prompt.setText("祝您考试及格");

}

}

界面上生成一个“显示”按钮,单击该按钮,显示“祝你考试及格”

 

五、简答题(30分,每题6分)

1、Java中的访问权限修饰符有哪些?

并写出它们的访问权限。

1.Public无限制

Protected类内部、同包无继承关系类、同一个包中子类、不同包中的子类

Friendly类内部、同包无继承关系类、同一个包中子类

Private类内部

2、说出final关键字的作用?

(1)修饰变量:

用final修饰的变量为常量,在程序中不能改变它的值。

(2)修饰方法:

用final修饰的方法为最终方法,不能被覆盖。

(3)修饰类:

用final修饰的方法为最终类,不能被继承。

3、static关键字的作用?

(1)修饰属性:

使用static修饰的属性称为静态属性,这样的属性分配在静态存储区,而不是分配在堆内存中,由多个对象共享。

(2)修饰方法:

使用static修饰的方法称为静态方法,这样的方法不用实例化,可以直接调用。

(3)程序块:

静态属性的赋值集中在静态块中,非静态属性的赋值集中在非静态块中。

4、写出方法覆盖和方法重载的概念。

方法重载:

方法名称相同,但方法的参数不同。

或者是参数个数不同,或参数类型不同,或者是参数顺序不同。

方法覆盖:

在子类中有与父类中相同的方法头,不同的方法体。

5、什么是接口?

接口中包括哪些成员?

接口的作用?

接口是Java中的重要组成部分,它不是类。

它是常量和抽象方法的集合。

接口中只有常量和抽象方法,没有构造器。

接口是一套纯粹的规范,在Java中实现多继承。

7、JAVA应用程序和小程序有什么区别?

Java应用程序,是完整的程序,可完成任何计算,需要独立的java解释器来解释运行。

Java小程序是可在web网页上运行的,不能单独运行,必须嵌入到html语言编写web页面上,通过与java兼容的浏览器来控制运行。

8、final,finally,finalize的区别

final关键字:

如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。

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

finally关键字:

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

finalize:

方法名,不是关键字。

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

9、JAVA语言的特征是什么?

简单、平台无关性、面向对象、安全

10、什么是面向对象的抽象、继承、封装和多态性?

(1)抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

(2)继承:

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

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

(3).封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

对象通过一个受保护的接口访问其他对象。

(4).多态性:

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

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

 

部分参考答案:

一.填空题

1、protected默认

2.object

3、java.lang

4、覆盖,重载

5、单,多

6、StringStringBuffer

7

8单多

11方法

12类名void

13新建阻塞

16扩展接口

18AppletMyApplet.java

19javacMyJavaApplication.java

JavaMyJavaApplication

2020

二.选择题

1、B2、C3、D4、A5、B

6、A7、C8、D9、C10、C

11、B12、A13、D14、D15、D

16、B17、B18、A19、A20、D

21、C22、B23、D24、C25、B

三.判断题

1.对2错3对4对5错6对7对8错9对10错

11对12错13错14、错

四.写出程序完成的功能

1.求6的阶乘

2.求1到50的倒数和

3.12default12

4.求a、b中的大数

5、顺序输出数组中所有元素。

6.界面上生成一个“显示”按钮,单击该按钮,显示“祝你考试及格”

五.简答题

1.Public无限制

Protected类内部、同包无继承关系类、同一个包中子类、不同包中的子类

Friendly类内部、同包无继承关系类、同一个包中子类

Private类内部

2.

(1)修饰变量:

用final修饰的变量为常量,在程序中不能改变它的值。

(2)修饰方法:

用final修饰的方法为最终方法,不能被覆盖。

(3)修饰类:

用final修饰的方法为最终类,不能被继承。

3.

(1)修饰属性:

使用static修饰的属性称为静态属性,这样的属性分配在静态存储区,而不是分配在堆内存中,由多个对象共享。

(2)修饰方法:

使用static修饰的方法称为静态方法,这样的方法不用实例化,可以直接调用。

(3)程序块:

静态属性的赋值集中在静态块中,非静态属性的赋值集中在非静态块中。

4.

方法重载:

方法名称相同,但方法的参数不同。

或者是参数个数不同,或参数类型不同,或者是参数顺序不同。

方法覆盖:

在子类中有与父类中相同的方法头,不同的方法体。

5.接口是Java中的重要组成部分,它不是类。

它是常量和抽象方法的集合。

接口中只有常量和抽象方法,没有构造器。

接口是一套纯粹的规范,在Java中实现多继承。

8、

final关键字:

如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。

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

finally关键字:

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

finalize:

方法名,不是关键字。

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

10、

(1)抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

(2)继承:

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

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

(3).封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

对象通过一个受保护的接口访问其他对象。

(4).多态性:

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

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

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

当前位置:首页 > 医药卫生 > 药学

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

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