Java复习Word格式.docx

上传人:b****6 文档编号:21174670 上传时间:2023-01-28 格式:DOCX 页数:16 大小:22.44KB
下载 相关 举报
Java复习Word格式.docx_第1页
第1页 / 共16页
Java复习Word格式.docx_第2页
第2页 / 共16页
Java复习Word格式.docx_第3页
第3页 / 共16页
Java复习Word格式.docx_第4页
第4页 / 共16页
Java复习Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Java复习Word格式.docx

《Java复习Word格式.docx》由会员分享,可在线阅读,更多相关《Java复习Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

Java复习Word格式.docx

3.自定义异常及异常抛出

第七章:

线程

1.线程创建方法:

继承Thread类、实现Runnable接口

(二)练习题

一、选择题

1.下列叙述中,正确的是____。

A、Java语言的标识符是区分大小写的

B、源文件名与public类名可以不相同

C、源文件名其扩展名为.jar

D、源文件中public类的数目不限

2.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是____。

A、java.appletB、java.awtC、java.utilD、java.lang

3.下列构造方法的调用方式中,正确的是____。

A、按照一般方法调用B、由用户直接调用

C、只能通过new自动调用D、被系统调用

4.char类型的取值范围是____。

A、2-7~27-1

B、0~216-1

C、-215~215-1

D、0~28-1

5.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。

A、publicintMAX_LENGTH=100

B、finalintMAX_LENGTH=100

C、publicconstintMAX_LENGTH=100

D、publicfinalintMAX_LENGTH=100

6.下列关于JavaApplication与Applet的说法中,正确的是____。

A、都包含main()方法

B、都通过“appletviewer”命令执行

C、都通过“javac”命令编译

D、都嵌入在HTML文件中执行

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

A、实现java.lang.Runnable接口并重写start()方法

B、实现java.lang.Runnable接口并重写run()方法

C、继承java.lang.Thread类并重写run()方法

D、实现java.lang.Thread类并实现start()方法

8.当浏览器重新返回Applet所在页面时,将调用Applet类的方法是____。

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

9.阅读下列代码后

publicclassPerson{

intarr[]=newint[10];

publicstaticvoidmain(Stringargs[]){

System.out.println(arr[1]);

}

}

正确的说法是()

A、编译时将产生错误B、编译时正确,运行时将产生错误

C、输出零D、输出空

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

publicclassTest3{

 publicstaticvoidmain(Stringargs[]){

 System.out.println(100%3);

 System.out.print("

"

);

 System.out.println(100%3.0);

 }

A、1,1   B、1,1.0   C、1.0,1  D、1.0,1.0

11.下列赋值语句中错误的是

A、floatf=11.1f

B、doubled=5.3E1.2;

C、charc='

\r'

;

D、bytebb=127;

12.下列关于接口的叙述中,正确的是

A、接口与类的层次有关

B、通过接口说明类所实现的方法

C、接口可以看作是常量与方法的集合

D、接口与存储空间无关

13.在下面附属类方法中的下划线处,应填入的正确参数是

publicvoidwriteData(_____)throwsIOException

{

GregorianCalendarcalendar=newGregorianCalendar();

DatehireDay=newDate();

calendar.setTime(hireDay);

out.println(name+”|”+salary+”|”+calendar.get(Calendar.YEAR)+”|”

+(calendar.get(Calendar.month)+1)+”|”+calendar.get(Calendar.Day_OF_MONTH));

A、Employee[]eB、”employee.dat”C、PrintWriteroutD、BufferedWriter

14.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?

A、ArrayListmyList=newObject();

B、ListmyList=newArrayList();

C、ArrayListmyList=newList();

D、ListmyList=newList();

15.为aB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名aB作为前缀就可以调用它,该方法头的形式为

A、staticvoidmethod()

B、publicvoidmethod()

C、finalvoidmethod()

D、abstractvoidmethod()

16.设有下面的一个定义:

classaa{

staticvoidShow(){System.out.println("

我喜欢Java!

"

classBB{

voidShow(){System.out.println("

我喜欢C++!

);

}

若已经使用aa类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的是:

A、a.Show();

b.Show();

B、aa.Show();

BB.Show();

C、aa.Show();

D、a.Show();

17.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是

A、可以被三种类所引用:

该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B、可以被种类访问和引用:

该类本身、该类的所有子类

C、只能被该类自身所访问和修改

D、只能被同一个包中的类访问

18.当方法遇到异常又不知如何处理时,下列哪种做法是正确的?

A、捕获异常

B、抛出异常

C、声明异常

D、嵌套异常

19.下面是关于类及其修饰符的一些描述,不正确的是

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。

20.类Test1、Test2定义如下:

1.publicclassTest1

2.{publicfloataMethod(floata,floatb)throws

3.Exception{…}

4.

5.}

6.classTest2extendsTest1{

7.}

将以下哪种方法插入第4行是合法的?

A、floataMethod(floata,floatb){…}

B、publicintaMethod(inta,intb)throwsException{…}

C、publicfloataMethod(floatp,floatq){…}

D、intaMethod(inta,intb){…}

21.指出下列程序运行的结果

publicclassExample{

  Stringstr=newString("

good"

  char[]ch={'

a'

'

b'

c'

};

  publicstaticvoidmain(Stringargs[]){

    Exampleex=newExample();

    ex.change(ex.str,ex.ch);

    System.out.print(ex.str+"

and"

    Sytem.out.print(ex.ch);

  }

  publicvoidchange(Stringstr,charch[]){

    str="

testok"

    ch[0]='

g'

A、goodandabcB、goodandgbc

C、testokandabcD、testokandgbc

22.给出下列代码,如何使成员变量m被方法fun()直接访问?

classTest

privateintm;

publicstaticvoidfun()

...

A、将privateintm改为protectedintm

B、将privateintm改为publicintm

C、将privateintm改为staticintm

D、将privateintm改为intm

23.已知有下列类的说明,则下列哪个语句是正确的?

publicclassTest

privatefloatf=1.0f;

intm=12;

staticintn=1;

publicstaticvoidmain(Stringarg[])

Testt=newTest();

}}

A、t.f;

B、this.n;

C、Test.m;

D、Test.f;

24.下列关于继承的叙述,正确的是

A、一个类可能有多个父类

B、子类中,继承自父类的变量可以修改

C、子类可以继承父类的所有变量和方法

D、子类只能继承父类的public、protected和private方法

25.一次典型的事件处理过程中,不涉及到()的对象

A、事件B、事件源C、事件接口D、事件监听器

26.当程序执行到第10行时,将调用()方法

1classPerson

2{publicvoidprintValue(inta,intb){}

3publicvoidprintValue(inta){}}

4publicclassStudentextendsPerson

5{publicvoidprintValue(inta,intb){}

6publicvoidprintValue(inta){}

7publicstaticvoidmain(Stringargs[])

8{

9Personp=newStudent();

10p.printValue(30);

}

11}

A、第5行B、第6行C、第2行D、第3行

27.下列代码的执行结果是

publicclassSelf

publicstaticvoidmain(Stringargs[])

{

Strings1=newString(“welcom“);

Strings2=newString(“welcom“);

System.out.print(s1==s2);

System.out.println(s2.equals(s1));

A.falsefalseB.truetrueC.falsetrueD.truefalse

28.定义类头时,不可能用到的关键字是

A.classB.privateC.extendsD.public

29.设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是

A.voidX(intk){i=k;

}B.X(intk){i=k;

C.X(intm,intn){i=m;

j=n;

}D.X(){i=0;

j=0;

30.如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:

voidmymethod(inta),则子类方法的定义不合法的是:

A.publicvoidmymethod(inta)B.protectedvoidmymethod(inta)

C.privatevoidmymethod(inta)D.voidmymethod(inta)

二、填空题

1.面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和___方法__的集合体。

2.每个Applet程序必须有一个类是__Applet_________类的子类。

3.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的

声明头:

__publicclassmyFrameextendsFrame__

4.Java中继承机制之所以能够降低程序的复杂性,提高编程的效率,主要是因为它使代码可___重用___。

5.设x=1,y=2,z=3,则表达式y+=z--/++x执行后,y的值是___3

7.创建包的语句应该放在程序的位置为_第一句_。

8.Applet默认的布局方式是__FlowLayout__。

9.当用户在TextField中输入一行文字后,按回车,实现____接口可实现对事件的响应。

10.面向对象技术具有_封装___、_继承______和多态性等特性。

1.方法   2.Applet3.publicclassmyFrameextendsFrame4.重用

5.36.Exception7.第一句8.FlowLayout9.ActionListener  10.封装、继承

三、程序填空

1.下面程序对数组中每个元素赋值,然后按逆序输出。

请在横线处填入适当内容,使程序能正确运行。

 

java.io.*;

publicclassArrayTest{

_____________________________{

inti;

inta[]=newint[5];

for(i=0;

i<

5;

i++)

a[i]=i;

for( 

__________)

System.out.println("

a["

+i+"

]="

+a[i]);

2.以下为一个java的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象DemoCar,调用该对象的set_number方法设置车号属性为3388,调用该对象的show_number方法输出车号。

//Car.java

classCar

{intcar_number;

voidset_number(____________)

____________}

voidshow_number()

System.out._________(“MycarNo.is:

”+car_number);

//CarDemo.java

classCarDemo

{publicstaticvoidmain(Stringargs[])

_________________;

demoCar.set_number( 

);

__________________;

3.程序功能:

输出鼠标点击位置的坐标,根据功能将程序补充完整

importjava.awt.*;

_____________________

publicclassMyAppletextendsApplet{

__________________{

Buttonb=newButton("

Button1"

b.addMouseListener(________________);

add(b);

classClickHandlerextendsMouseAdapter{

publicvoidmouseClicked(MouseEventevt){

1.publicstaticvoidmain(Stringargs[])

i=4;

i>

=0;

i—

2.inta

car_number=a;

println

CardemoCar=newCar()

3388

demoCar.show_number()

3.importjava.awt.event.*;

publicvoidinit()

newClickHandler()

System.out.println(evt.getX()+”,”+evt.getY());

四、分析程序结果题

1.classA{

inta;

A(inti)

{a=i;

classBextendsA{

inta,b;

B(inti,intj)

{super(i);

b=j;

a=i+j;

publicclassAB{

publicstaticvoidmain(Stringargs[]){

Aa1=newA(9),a2;

Bb=newB(3,5);

System.out.println(b.a);

a2=a1;

System.out.println(a2.a);

a2=b;

b=(B)a2;

运行结果:

2.在oneMethod()方法运行正常或出现越界异常情况下,程序段分别输出什么?

publicvoidtest()

{

try{oneMethod();

System.out.println("

condition1"

catch(ArrayIndexOutOfBoundsExceptione)

condition2"

catch(Exceptione)

condition3"

finally

finally"

3.

publicclassTestextendsTT{

publicstaticvoidmain(Stringargs[]){

Testt=newTest("

Tom."

publicTest(Strings){

super(s);

System.out.print("

Howareyou?

publicTest(){

this("

IamJack."

classTT{

publicTT(){

Hi!

publicTT(Strings){

this();

Iam"

+s);

五、改正程序中的错误

1.publicclassTest{

publicvoidmain(String[]args){//定义主方法1

booleanisValid=0;

//2

intscores[5]={65,70,69,98,86};

//3

if(isValid)then{//4

System.out.println(scores[5]);

//5

}else{

System.out.println(“Noinformation”);

2.向Frame对象中添加组件的程序段如下:

publicclassFrameDemo1

Buttonjb=newButton(“按钮”);

FrameDemo1()

size(200,300);

add(jb,“center”);

super(“窗口示例”);

setVisible(true);

newFrameDemo1();

六、问答:

1.下面程序是否能通过编译?

请说明原因

classFirst{

   privateinta=1;

   intb=2;

classSecondextendsFirst{

   publicvoidmethod(){

    System.out.println(a+b);

   }

  }

2.下面程序是否能通过编译?

请说明原因。

若存在问题,请修改,并写出运行结果。

classEllipse

publicvoiddraw(){System.out.println("

Ellipse"

classCircleextendsEllipse

publicvoid

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

当前位置:首页 > 人文社科 > 设计艺术

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

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