JAVA复习题复习资料.docx
《JAVA复习题复习资料.docx》由会员分享,可在线阅读,更多相关《JAVA复习题复习资料.docx(17页珍藏版)》请在冰豆网上搜索。
JAVA复习题复习资料
JAVA期末复习题答案
一、填空:
(20空,每空1分,共20分)
1、要激活一个Java小应用程序applet需具有html_文件。
2、一个Java源程序文件必须以_java_为其扩展名。
3、Java编译器产生的文件的扩展名为_class_。
4、Java程序的每个方法以_{_开始,以_}_结束。
5、每个Java程序语句以__;__结束。
6、所有程序均可以用顺序、选择和循环三种控制结构编写。
7、一个只有在定义它的方法中是可知的变量称为局部变量。
8、被调用方法中的_return_语句可以将表达式的值回送给调用它的方法。
9、方法头中的关键字_void__用来表示方法不还返回值。
10、标识符的作用域是程序中可以使用此标识符的范围。
11、从被调用方法将控制权交给调用者的两种方式是__return__、__}__。
12、当applet开始执行时,调用一次_init__方法。
13、每当浏览器的用户再次访问applet所在的html页时都会调用_start_方法。
14、调用_paint_方法在applet上画图。
15、_resize_方法用来在执行applet时改变applet的宽度和高度。
16、_repaint_方法调用applet的update方法,接着update方法又调用applet的paint方法。
17、每当浏览器的用户离开applet所在的html页时要调用applet的_stop_方法。
18、在java中可以使用许多方法同名,但各方法使用的参数的类型和数量不同,这称为方法重载。
19、限定词_final_用来声明只读变量。
20、数组元素之所以相关,是因为它们具有相同的名字和类型。
21、用于指出数组中某个元素的数字称为数组下标。
22、使用两个下标的数组被称为__二维__数组。
23、通过_·__运算符与类的对象相连,可以访问此类的成员。
24、指定为_private_的类成员只能被此类中的成员访问。
25、类的方法通常设为_public_,而类的实例变量一般设为_private_。
26、关键字_class__开始一个类定义。
27、指定为_public_的类成员可被此类作用域中的任何对象访问。
28、_new__操作符动态地为对象按照其指定的类型分配内存,并返回该类的一个引用。
29、_static_实例变量代表类范围的信息。
30、_this_引用作为隐含的第一个参数被传送给类中的每个方法。
31、关键字_final_表明一个对象或变量在初始化后不能被修改。
32、声明为static的方法不能访问_非static_类成员。
33、如果Alpha类继承Beta类,Alpha类被称为_子_类,Beta类被称为_超_类。
34、继承性使软件重用成为可能,它不仅节省开发时间,而且鼓励使用已经证明过的,高质量的软件组件。
35、四种成员访问限制是_public__、_protected_、_private_、_friendly_。
36、如果一个类包含了一个或多个abstract方法,它是_abstract_类。
37、getName方法的返回类型为_String__。
38、_drawLine__方法在两个点之间绘制一线段。
39、RGB是__红__、__绿__、__蓝__。
40、字体大小以_点__为单位。
41、鼠标被移动时会发生_mouseMove__事件。
42、GUI是图形用户界面的缩写。
43、使用_setLayout_方法为构件容器设置布局管理器。
44、mouseDrag事件触发了一个_mouseDown__事件和一个_mouseUp_事件。
45、使用__Menu___类创建菜单对象。
46、向文本区域的_setEditable__方法传递true,将允许用户修改文本。
47、滚动条事件由_handleEvent_方法进行处理。
48、C++是__单__线程语言,而Java是__多__线程语言。
49、_stop__方法用于终止线程的运行。
50、有四种原因可能使线程不能运行,它们是等待、休眠、挂起、由于I/O操作而阻塞。
51、有两种原因可能使线程进入死亡状态,它们是run方法终止、线程调用了stop方法。
52、线程通过调用_sleep_方法可以休眠一段时间,然后恢复运行。
53、Applet类的_getImage_方法将图像装入applet。
54、Graphics类的_drawImage_方法在applet上显示图象。
55、计算机处理的数据最终分解为_1_和_0_的组合。
56、计算机处理的最小数据单元称为_位_。
57、、、RandomAccessFile文件流类的_close_方法,可用于关闭文件。
58、Java的网络类在__包中。
59、URL是统一资源定位符的缩写。
60、构成wordwideweb的关键协议是_http__。
二、判断下列的叙述是正确还是错误。
若为错误,解释原因,并纠正。
(10题,每题3分,共30分)
1、注释的作用是使程序在执行时在屏幕上显示//之后的内容。
错。
注释在程序执行时不会造成任何操作的执行。
2、在方法中使用的变量必须先声明再使用。
正确。
3、声明变量时必须指定一个类型。
正确。
4、Java认为变量number与Number是相同的。
错。
Java严格区分大小写字母。
5、变量声明可在java方法体内任何位置出现。
正确。
6、default在switch选择结构中是必须的。
错。
它是可选项,如不需要可以不写。
7、break语句在switch结构中的default情况中是必须的。
错。
break用于退出default,当default位于switch结构的最后时可省略。
8、一个数组可以存放不同类型的数值。
错。
一个数组只能存放同一种类型的数值。
9、数组的下标通常是float型。
错。
应为整数或整数表达式。
10、数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。
错。
因为数组的单个元素以传值调用方式传递,所以不能被修改。
11、超类代表的对象比子类多。
正确。
12、子类封装的功能比它的超类少。
错。
子类至少继承了超类的全部功能。
13、用"=="比较字符串对象时,如果字符串包含的是同一个值时,结果为true。
错。
该运算符比较的是它们是否是内存中的同一个对象。
14、字符串在创建后可以被修改。
错。
字符串是一个常量,创建后不能修改。
15、drawOral(x,y,50,100)的前两个参数指定了椭圆的中心坐标。
错。
前两个参数指定了矩形左上角的位置。
16、在Java坐标系统中,从左向右x值增加。
正确。
17、fillPolygon方法用当前颜色画一个实心多边形。
正确。
18、drawArc方法允许负的角度。
正确。
19、像素坐标(0,0)位于屏幕的正中央。
错。
位于左上角。
20、BorderLayout是面板的缺省布局管理器。
错。
缺省布局管理器是FlowLayout。
21、当鼠标指针位于一个GUI构件上时,发生一个MouseOver事件。
错。
发生一个MouseEnter事件。
22、一个面板不能被加入到另一个面板中。
错。
可以
23、在使用BorderLayout时,最多可以使用五个构件。
正确。
24、程序员在创建一个对话框时,至少必须创建一个菜单,并将它加入到对话框。
错。
对话框不需要菜单。
25、文本区域的文本总是只读的。
错。
缺省时,文本区域是可编辑的。
26、如果线程死亡,它便不能运行。
正确。
27、在Java中,高优先级的可运行线程会抢占低优先级线程的处理机。
正确。
28、Java目前支持两种格式的图象文件,它们的扩展名分别为.jif和.jpg。
错误。
应该是.gif和.jpg
29、在随机存取文件中查找指定记录时不必检查每一条记录。
正确。
30、随机存取文件中的记录必须等长。
错误。
一个随机存取文件中的记录长度一般相等。
31、一旦建立一个URL对象,它就不能再改变了。
正确。
32、进程利用流socket建立与其他进程的连接。
正确。
33、服务器通过一个端口与客户机连接。
正确。
34、基于安全考虑,许多Web浏览器只允许Java的applet在其所运行的计算机上进行文件操作。
错。
大多数浏览器不允许applet在客户机上进行文件操作。
三、写出完成下述任务的Java语句:
(5题,每题5分,共25分)
1、显示用户输入一整数。
答:
Labelprompt;
Prompt=newLabel("EnteranInteger");Add(promtp);
2、从键盘读入一整数,存入整型变量age。
假设TextField只调用input而且action方法的Object参数O含有用户输入的文本。
答:
age=Integer.parseInt(o.tostring());
3、若变量number不等于7,用paint方法在(10,10)坐标处显示"Thevariablenumberisnotequalto7"。
假设Graphics对象g是paint方法的参数。
答:
if(number!
=7)
g.drawString("Thevariablenumberisnotequalto7.",10,10);
4、使用Graphics对象g在paint方法中打印下面两行信息:
答:
ThisisajavaProgra坐标值自选。
g.drawString("Thisajava",10,10);
g.drawString("Program",10,25);
5、写出四种不同形式的Java语句使变量x增1。
答:
x=x+1;
x+=1;
++x;
x++;
6、将x和y值相加后赋与Z,并在运算后使x自增1。
答:
z=x+++y;
7、使变量x减1然后从变量total中减去x。
答:
total-=--x;
8、用for结构求出从1到99中所有奇数的和。
答:
intsum=0;
for(inti=1;i<=99;i+=2)
sum+=i;
9、用while循环打印出1到20个整数,要求每行只打印5个整数。
答:
intx=1;
while(x<=20){
System.out.print(x);
if(x%5==0)
System.out.print();
else
System.out.print('\t');
x++;
}
10、按步给出java语句:
1)定义只读变量arraySize并初始化为10。
2)声明一个float型数组含有arraySize个元素,并将其初始化为0。
3)用for循环结构求此数组所有元素之和。
答:
finalintarraySize=10;
floatarr[]=newfloat[arraySize];
floattotal=0;
for(inti=0;itotal+=arr[i];
11、按步给出java语句。
(1)声明一个有3行3列的整型数组,并将其先初始化为0。
(2)用for循环结构,将数组的每个元素赋值为它的两个下标之和。
答:
intarr[][]=newint[3][3];
for(inti=0;ifor(intj=0;jarr[i][j]=i+j;
12、比较s1中的字符串和s2中的字符串的内容是否相等。
答:
s1.equals(s2);
13、使用"+="将字符串s2附加到字符串s1上。
答:
s1+=s2;;
14、确定s1中的字符串长度。
答:
s1.length();
15、写一个只能运行一次的do_while循环。
答:
intx=0;
do{
x++;
}
while(x<=0);
16、写一个永远无法执行的for循环。
答:
for(inti=1;i<1;i++){}
四、指出并修改下述语句中的错误(5题,每题3分,共15分)
1、if(c<7);
g.drawString("cislassthem7",25,25);
if(c<7)
g.drawString("cislassthen7",25,25);
2、if(c=>7)
g.drawString("cisequaltoorgreaterthan7",25,25);
if(c>=7)
g.drawString("cisequaltoorgreaterthan7",25,25);
3、while(c<=5)
{product*=c;
++c;
while(c<=5)
{product*=c;
++c;
}
4、if(gender==1)
System.out.println("Woman");
else;
System.out.println("Man");
if(gender==1)
System.out.println("Woman");
else
System.out.println("Man");
5、x=1;
while(x<=10);
x++;
}
x=1;
while(x<=10)
x++;
}
6、for(y=0.1;y!
=1.0;y+=0.1)
System.out.println(y);
for(y=1;y!
=10;y+=1)
System.out.println(y);
7、下面的代码打印值1到10
n=1;
while(n<10)
System.out.println(n++);
n=1;
while(n<=10)
System.out.println(n++);
8、intg()
{System.out.println("Insidemethodg");
inth()
{System.out.println("Insidemethodh");
}}
intg()
{System.out.println("Insidemethodg");}
inth()
{System.out.println("Outsidemethodg");}
9、intsum(intx,inty)
{intresult;
result=x+y;
}
intsum(intx,inty)
{returnx+y;
}
10、intsum(intn)
{if(n==0)return0;
elsen+sum(n-1);
}
intsum(intn)
{if(n==0)return0;
returnn+sum(n-1);
}
11、voidf(floata);
{floata;
System.out.println(a);
}
voidf(floata)
{
System.out.println(a);
}
12、voidproduct()
{inta=6,b=5,c=4,result;
result=a*b*c;
System.out.println("Resultis"+result);
returnresult;
}
voidproduct()
{inta=6,b=5,c=4,result;
result=a*b*c;
System.out.println("Resultis"+result);
}
13、intb[]=newint[10];
for(inti=0;i<=b.length;i++)
b[i]=1;
intb[]=newint[10];
for(inti=0;ib[i]=1;
14、inta[][]={{1,2},{3,4}};
a[1,1]=5;
14、inta[][]={{1,2},{3,4}};
a[1][1]=5;
15、charx[]={'1','2','0','2','*','*','P','C','M',};
g.drawChars(x,6,8,435,80);
charx[]={'1','2','0','2','*','*','P','C','M',};
g.drawChars(x,6,3,435,80);
16、g.setColor(Color.Yellow);
g.setColor(Color.yellow);
17、buttonName=Button("Caption");
buttonName=newButton("Caption");
18、texField=newTextField(50,"DefaultText");
texField=newTextField("DefaultText",50);
五、回答问题:
(5题,每题2分,共10分)
1、什么是"内存泄露"?
模拟试卷一的5.1
2、什么是"资源泄露"?
夭折的程序会使某一资源处于别的程序不能使用的状态。
3、如果try块中没有发出例外,当try块结束执行时,控制会转移到哪里去?
模拟试卷一的5.2
4、常规的applet和application应该捕获Error对象吗?
Error对象一般是java系统中的严重问题,大多数程序不希望捕获Error对象。
5、如果有几个catch块都与发出的异外对象类型相符,会产生什么结果?
模拟试卷二的5.1
6、发出一个例外是否一定会使程序终止?
不会,但它会终止产生该例外的块。
7、下面程序块中,do_while循环将执行多少遍?
循环结束时,count等于多少?
intcount=10;
do
{++count;}
while(count<=15);
模拟试卷二的5.2
8、什么是结构化在程序设计?
模拟试卷一的5.3
9、类与对象是怎样联系起来的?
类可以再内存中实例化一个对象,以便程序使用。
10、OOP的三个重要机制是什么?
它们有什么关系?
模拟试卷一的5.4
11、构造方法的作用是什么?
它的定义有哪些特点?
模拟试卷二的5.3
12、举例说明如何实例化一个对象。
例如:
importjava.applet.*;
importjava.awt.*;
publicclassWelcomeextendsapplet{
publicvoidpaint(Graphicsg){
g.drawString("Welcome",25,25);
}
}
本例中Welcome类在内存中实例化了一个执行applet的对象。
13、this引用的作用是什么?
举例说明。
14、如何定义一个抽象类?
抽象类的功能是什么?
模拟试卷一的5.5
15、包的作用是什么?
如何创建一个包?
16、接口的作用是什么?
它包含哪些内容?
模拟试卷二的5.4
17、try块有几种嵌套形式?
试说明之。
18、怎样将字符串连接起来?
请举一例说明之。
19、java的applet是怎样嵌入到html文档中的?
在html中至少有哪些说明?
模拟试卷二的5.5
20、applet的三个主要方法init(),start(),paint()的执行顺序是什么?
init()
start()
paint()
21、设计一个菜单的步骤是什么?
用MenuBar构造函数构造菜单栏对象
用Menu构造函数构造菜单对象
用MenuItem构造函数构造菜单项对象
用Menu类的add方法将菜单项加入到菜单中
用MenuBar类的add方法将菜单加入到菜单栏中
用Frame类的setMenuBar方法将菜单栏加入到窗口上。
22、在绘图过程中,repaint(),update()和paint()方法各起何作用?
paint()可将对象画出到图形界面上
repaint()调用update方法
update()先清除画面再调用paint方法