Java复习Word格式.docx
- 文档编号:21174670
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:16
- 大小:22.44KB
Java复习Word格式.docx
《Java复习Word格式.docx》由会员分享,可在线阅读,更多相关《Java复习Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 复习