JAVA期末练习题2Word格式文档下载.docx
- 文档编号:19501726
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:11
- 大小:20.82KB
JAVA期末练习题2Word格式文档下载.docx
《JAVA期末练习题2Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA期末练习题2Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Stringstr="
ABCDE"
;
str.subString(2,5);
StringBuffernewStr=newStringBuffer(str);
newStr.reverse();
System.out.print(newStr);
}
}
A)CDEB)EDCBAC)ABCDED)EDC
5、关于下面的程序哪个说法是正确的?
()
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[0]);
}
A)编译时将产生错误B)编译时正确,运行时将产生错误
C)输出为空D)输出0
6、面向对象的多态性在Java中主要通过以下哪种机制表现()
A)访问控制B)重载和重写
C)静态域和静态方法D)包
7、设x=2,y=10,则表达式++y+2*3<
<
x的结果为()。
A)34B)35
C)64D)68
8、有关类的说法正确的是?
()
A)类具有封装性,所以类的数据是不能被访问的
B)类具有封装性,但可以通过类的公共接口访问类中的数据
C)声明一个类时,必须用public修饰符
D)每个类中,必须有main方法,否则程序无法编译
9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A)staticvoidmethod()B)publicvoidmethod()
C)finalvoidmethod()D)abstractvoidmethod()
10、下述哪个说法是不正确的?
A)局部变量在使用之前无需初始化,因为有该变量类型的默认值
B)类成员变量由系统自动进行初始化,也无需初始化
C)参数的作用域就是所在的方法
D)for语句中定义的变量,当for语句执行完时,该变量就消亡了
11、下面这段程序的运行结果是什么?
classAclass{
voidgo(){System.out.println(“Aclass”);
publicclassBcladdextendsAclass{
voidgo(){System.out.println(“Bclass”);
publicstaticvoidmain(String[]args){
Aclassa=newAclass();
Aclassa1=newBclass();
a.go();
a1.go();
A)AclassB)BclassC)AclassD)Bclass
AclassBclassBclassAclass
12、下列哪些语句关于内存回收的说明是正确的()
A)程序员必须创建一个线程来释放内存
B)内存回收程序负责释放无用内存
C)内存回收程序允许程序员直接释放内存
D)内存回收程序可以在指定的时间释放内存对象
13、对于如下代码,有哪些方法可以加入类Child?
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
ClassChildextendsParent{}
A)intaddValue(inta,intb){//dosomething……}
B)publicvoidaddValue(inta,intb){//dosomething…}
C)publicintaddValue(inta){//dosomething}
D)publicintaddValue(inta,intb)throwsMyException{//dosomething…}
14、下面的程序输出结果为()
classBase{
intm;
publicBase(){
this.m=1;
publicclassTestextendsBase{
publicTest(){
m=m+1;
}
Testt=newTest();
System.out.print(t.m);
A)输出结果为0B)输出结果为1
C)输出结果为2D)编译出错
15、对以下程序
publicclassPoint(){
intx,y;
public
Point(intx,inty){
;
;
下列哪个可放入上面程序的划线部分?
A)Point.x
=x
Point.y
=x
B)x=this.x
y=this.y
C)x=x1
y=y1
D)this.x=y
this.y=x
16、下面哪些说法是正确的?
A)在Java中一个类只允许实现一个接口
B)Java语言中的类只能有一个构造函数
C)Java语言会自动对类的成员变量(域)进行初始化
D)Java语言不能实现多重继承
17、构造BufferedOutputStream的合适参数可以是以下哪个类的实例?
A)FileInputStreamB)FileOutputStream
C)FileWriterD)OutputStream
18、对于异常处理语句try…catch…finally,下面哪个说法是正确的?
A)如果有多个catch语句,对所有的catch都执行一次
B)如果有多个catch语句,对每个符合条件的catch都执行一次
C)找到合适的异常类型后就不再执行后面的catch
D)finally部分可能不会被执行
19、下列哪个是说法错误的?
A)启动线程可调用start方法
报考学校:
______________________报考专业:
______________________姓名:
准考证号:
------------------------------------------------------------------------------------------密封线---------------------------------------------------------------------------------------------------
B)run方法是线程运行的主体
C)线程运行中调用sleep方法可以进入阻塞状态
D)在线程中,优先级为1的线程可以抢占优先级为5的线程的资源
20、下面哪个布局管理器使用的是组件的最佳尺寸,即把每个组件都假定为它的自然(首选)大小()
A)
FlowLayout
B)CardLayoutC)BorderLayout
D)GridLayout
三、程序阅读题(每题6分,共30分)
1、写出下列程序代码的运行结果。
publicstaticvoidmain(String[]args){
int[]MyIntArray={10,20,30,40,50,60,70};
ints=0;
for(inti=0;
i<
MyIntArray.length;
i++)
if(i%2==1){
System.out.println(MyIntArray[i]);
s+=MyIntArray[i];
System.out.println(s);
2、写出下列程序代码的运行结果。
publicstaticvoidmain(String[]args){
charchars[]={'
a'
'
'
s'
t'
r'
i'
n'
g'
};
byte[]bytes={72,101,108,108,111,33};
//提示:
A、a和“!
”号的ASCII分别为65、97和33
Strings1=newString();
Strings2=newString("
String2"
);
Strings3=newString(chars);
Strings4=newString(chars,2,5);
StringBuffersb=newStringBuffer(s3);
sb.append(“!
”);
Strings5=newString(sb);
Strings6=newString(bytes);
System.out.println("
TheStringNo.1is"
+s1);
TheStringNo.2is"
+s2);
TheStringNo.3is"
+s3);
TheStringNo.4is"
+s4);
TheStringNo.5is"
+s5);
TheStringNo.6is"
+s6);
3、写出下列程序代码的运行结果。
publicclassTestextendsTT{
publicstaticvoidmain(Stringargs[]){
Testt=newTest("
Tom"
}
publicTest(Strings){
super(s);
System.out.println("
Howdoyoudo?
"
publicTest(){
this("
IamTom"
classTT{
publicTT(){
System.out.println("
Whatapleasure!
}
publicTT(Strings){
this();
System.out.println("
Iam"
+s);
4、给定下面的代码片段,如果method()方法正常运行并返回,程序运行结果为?
如果method()方法出现数组越界异常,程序运行结果为?
publicvoidTest(){
try{
method();
System.out.println("
HelloWorld"
}
catch(ArrayIndexOutOfBoundsExceptione)
{
Exception?
}
catch(Exceptione)
Exception!
finally{
Thankyou!
}
}
5、仔细阅读下面的程序代码,请写出该程序的功能。
importjava.awt.*;
importjava.awt.event.*;
publicclass
myFrame
extendsFrameimplementsActionListener{
Labelres;
TextFieldmy;
Stringword[]={"
zero"
"
one"
two"
three"
four"
five"
six"
seven"
eight"
nine"
ten"
public
myFrame(){
my=newTextField(20);
res=newLabel("
英文单词
"
setLayout(newFlowLayout());
add(my);
add(res);
my.addActionListener(this);
publicvoidactionPerformed(ActionEvente){
Strings=my.getText();
intn=Integer.parseInt(s);
res.setText(word[n]);
publicstaticvoidmain(Stringargs[]){
Frame
my=newmyFrame();
my.setSize(300,300);
my.setVisible(true);
四、程序填空题(每空2分,共20分)
1、阅读下面的程序代码,根据注释要求补充、完成划线
(1)~(5)代码。
//声明一个接口,接口名为Area
interfaceArea{
(1)//定义一个符号常量pi表示圆周率
publicdoubleCalsulateArea();
classMyCircleimplementsArea{
doubler;
publicMyCircle(doubler){
_____
(2)___//将参数r的值赋值给成员变量r
}
publicdoubleCalsulateArea(){
___(3)__//返回圆的面积,使用前面定义的符号常量pi
classTestArea{
publicstaticvoidmain(String[]args){
//创建MyCircle的对象,对象名为c,圆的半径为5
_____(4)__________
System.out.println("
圆的面积为:
+(5));
//计算c的面积并输出
2、创建一个名为Rectangle的类来表示矩形.根据注释要求补充、完成划线(6)~(10)代码。
classRectangle{
intwidth,height;
Rectangle(intwidth,intheight){
(6)//由构造方法来确定矩形的宽度和高度
(7)
intgetArea(){//getArea()方法用于计算矩形的面积
(8)
intgetPerimeter(){//getArea()方法用于计算矩形的周长
(9)
voiddrawRect(){//使用星号(*)作为描绘字符画出矩形的形状;
for(inti=0;
i<
height;
i++){
for((10))
System.out.print("
*"
System.out.println();
注:
如果一个矩形对象的宽度为5,高度为3,则调用drawRect()方法,应显示如下图案:
*****
五、编程题(共3小题,第1题10分,第2题15分,第3题15分,共40分)
1、设计一个TestPalindrome类,定义一个静态方法isPalindrome(Stringstr):
判断一个字符串是否是回文,要求该方法的返回值为逻辑型数据。
回文是指正向读和反向读都一样的字符串序列,如“32123” 或“ablewasIereIeresawelba”都是回文字符串。
(10分)
2、定义一个Reserve类,通过其main方法实现下述功能:
从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
(15分)
3、设计一个学生类Student。
(15分)
Student类的结构要求如下:
1)成员变量(域)包括id(学号)、name(姓名),age(年龄),sex(性别)和degree(学位);
2)定义一个无参数的构造方法:
要求自动生成一个合法的8位随机数作为学生的学号,学号格式为年级号(4位,取值范围[2006,2009])+班号(2位,取值范围[1,20])+学号(2位,取值范围[1,50]);
3)定义一个带参数的构造方法:
利用给定的参数对学生的学号和姓名属性进行初始化;
4)编写Show方法显示一个学生的相关属性信息;
5)要求由Student类派生出本科生类Undergraduate,增加新的成员变量specialty(专业);
6)为Undergraduate子类定义一个无参数的构造方法,自动生成一个合法的8位随机数为本科生的学号。
学号格式与student类要求相同。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末 练习题