java试题练习第2套.docx
《java试题练习第2套.docx》由会员分享,可在线阅读,更多相关《java试题练习第2套.docx(15页珍藏版)》请在冰豆网上搜索。
java试题练习第2套
大学——学年第学期
《Java程序设计》课程试题
课程号:
√
考试
□
A卷
√
闭卷
□
考查
□
B卷
□
开卷
题号
一
二
三
四
五
六
七
八
九
十
总分
阅卷教师
各题分数
40
20
10
5
5
20
100
实得分数
一、单项选择题(20题;每题2分,共40分)
1、165/2的值是___。
A)0 B)82 C)3 D)83
答案:
B (难度系数 C)知识点:
表达式
2、在HTML中,用________标签来强制显示Applet。
A)name,height,widthB)codebase,height,width
C)code,nameD)code,height,width
答案:
D(难度系数B) 知识点:
小应用程序
3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的_____方法来完成主类实例的初始化工作。
A)start()B)stop() C)init()D)paint()
答案:
C(难度系数C) 知识点:
小应用程序
4、创建一个标识有“关闭”按钮的语句是___。
A)TextFieldb=newTextField(“关闭”);
B)Labelb=newLabel(“关闭”);
C)Checkboxb=newCheckbox(“关闭”);
D)Buttonb=newButton(“关闭”);
答案:
D (难度系数C) 知识点:
GUI编程
5、在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。
6、以下关于循环语句描述正确的是___。
A)for循环不可能产生死循环
B)while循环不可能产生死循环
C)for循环不能嵌套while循环
D)即使条件不满足do……while循环体内的语句也至少执行一次
答案:
D (难度系数B) 知识点:
循环
7、以下描述正确的是___。
A)JAVA不可以用来开发手机程序
B)在JAVA程序中java.awt包是唯一自动引入的类库
C)java.io包是JAVA语言的输入输出类库
D)JAVA的包中可以有相同的类名
答案:
C (难度系数B) 知识点:
JAVA简介,包
8、实现一个继承接口Runnable的类需要实现___方法。
A)startB)runC)waitD)paint
答案:
B (难度系数B) 知识点:
多线程
9、可以改变容器布局的语句是___。
A)addLayout(myLayout) B)layout(myLayout)
C) setLayout(myLayout) D)setLayoutManager(myLayout)
答案:
C(难度系数B) 知识点:
GUI编程
10、以下描述错误的是____。
A)JAVA能编写独立运行的应用程序
B)JAVA支持多线程
C)JAVA是一网络应用软件
D)JAVA能运行于windows系统
答案:
C (难度系数C) 知识点:
JAVA简介
11、以下关于数组的描述有误的是____。
A)整型数组中的各元素的值必须是整型
B)数组是有序数据的集合
C)如数组名为ab,即ab.length可以取得该数组的长度
D)数组的下标从1开始
答案:
D (难度系数B) 知识点:
数组
12、HelloWorld.java编译成功后会在当前目录中生成一个什么文件___。
A)Hello.java B)HelloWorld.class C)Helloworld.class D)helloWorld.class
答案:
B (难度系数C) 知识点:
JAVA执行过程
13、以下对于标识符的描述有误的是___。
A)常量用大写字母,变量用小写字母
B)JAVA的标识符严格区分大小写
C)第一个字符不是数字
D)标识符中任何位置都不能用数字
答案:
D (难度系数C) 知识点:
标识符
14、以下语句正确的是___。
A)x+1=5; B)i++=1;C)a++b=1; D)x+=1;
答案:
D (难度系数B) 知识点:
表达式
15、以下结果为真(true)的是___。
A)10>’a’ B)’a’>20 C)!
true D)(3<5)&&(4>10)
答案:
B (难度系数B) 知识点:
表达式
16、inta=’2’;a的值是___。
A)1 B)50 C)49 D)2
答案:
B(难度系数B) 知识点:
表达式
17、下列关于构造方法的叙述中,错误的是___。
A)Java语言规定构造方法名与类名必须相同
B)Java语言规定构造方法没有返回值,但不用void声明
C)Java语言规定构造方法不可以重载
D)Java语言规定构造方法只能通过new自动调用
答案:
C(难度系数B) 知识点:
构造方法
18、下面语句中,____不会出现编译警告或错误。
A)floatf=1.3;B)charc=”a”; C)byteb=25; D)booleanb=null;
答案:
C(难度系数B) 知识点:
赋值相容
19、下列叙述正确的是___。
A)final类可以有子类 B)abstract类中只可以有abstract方法
C)abstract类上可以有非abstract方法,但该方法不可以用final修饰
D)不可以同时用final和abstract修饰一个方法
答案:
D(难度系数B) 知识点:
抽象类,抽象方法
20、下列类的定义中,错误的是___。
A)classx{....}
B)publicxextendsy{....}
C)publicclassxextendsy{....}
D)classxextendsyimplementsy1{....}
答案:
B(难度系数B) 知识点:
类的定义
二、填空题(10题;每题2分,共20分)
1 根据程序的构成和运行环境的不同,Java源程序分为两类:
程序和程序。
答案:
应用程序 小应用程序 (难度系数C)知识点:
JAVA简介
2 在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现____重继承关系。
答案:
单 、 多 (难度系数 B)知识点:
类的继承
3设有数组定义:
inta[]={11,22,33,44,55,66,77,88,99};则执行以下几个语句后的输出结果是、、。
for(inti=0;iif(a[i]%3==0)System.out.println(a[i]);
答案:
33 66 99 (难度系数 B)知识点:
运算符
4 顺序执行以下两个语句的输出结果是:
。
Strings="广东海洋大学";System.out.println(s.length());
答案:
12 (难度系数B) 知识点:
字符串
5读写器是以___________为基本单位访问文件的,读写器之外的其他输入流、输出流以及随机访问文件都是以___________为基本单位访问文件的。
答案:
字符 、 字节 (难度系数C) 知识点:
文件与数据流
6 声明异常抛出用子句来完成声明,它包含在方法的声明之中。
答案:
throw难度系数:
C知识点:
JAVA异常处理
7 若x=5,y=10,则x=y的逻辑值分别为和。
答案:
true、false难度系数C知识点:
JAVA运算符与表达式
8 设x=2,则表达式(x++)/3的值是。
答案:
0 (难度系数 B)知识点:
表达式
9 构造方法只能通过运算符调用,用户不能直接调用。
答案:
new(难度系数 B)知识点:
构造方法
10线程同步执行过程中,wait()方法与方法是匹配使用,否则易造成死锁。
答案:
notify(难度系数 A)知识点:
线程同步
三、判断题(10题;每题1分,共10分)
1.()所有的文件输入/输出流都继承于InputStream/OutputStream类。
答案:
对 (难度系数B) 知识点:
数据流
2.()一个方法最多能有一个return语句。
答案:
错 (难度系数B) 知识点:
类的方法
3.()一个异常处理中finally语句块只能有一个或者可以没有。
答案:
对 (难度系数B) 知识点:
异常
4.( )一个类中定义两个方法,名字相同,参数相同,返回值不同,它们是重载方法。
答案:
错 (难度系数B) 知识点:
重载
5.( )一个类的构造函数既可以发生重载又可以被继承。
答案:
对 (难度系数B) 知识点:
构造方法
6.()Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。
难度系数:
C答案:
对知识点:
JAVA输入输出
7.( )子类可以继承父类所有的成员变量和成员方法。
答案:
错 (难度系数B) 知识点:
继承
8.()Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程序的主类名一致。
答案:
错 (难度系数B) 知识点:
JAVA简介
9.()线程使用sleep()方法休眠后,可以用notify()方法唤醒。
答案:
错 (难度系数B) 知识点:
多线程
10.()Java语言使用的是Unicode字符集,每个字符在内存中占8位。
答案:
错(难度系数B知识点:
数据类型)
四、程序填空题(1题;每题5分,共5分)
1.以下程序的功能是求3×3矩阵对角元素之和,补充完成程序。
publicclasstest
{
publicstaticvoidmain(String[]args)
{
inti,j,sum=0;
inta[][]=
(1);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
a[i][j]=i+j;
}
}
//输出3×3矩阵
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
System.out.print(a[i][j]+"");
}
(2);
}
//显示对角线之和
for(i=0;i<3;i++)
{
sum=(3);
}
System.out.println("对角线之和:
"+sum);
}
}
答案:
【代码1】:
newint[3][3]
【代码2】:
System.out.println()
【代码3】:
a[i][i]+a[i][3-i-1]
难度:
B;知识点:
数组,循环,程序逻辑。
五、读程序写结果(1题;每题5分,共5分)
1.写出下列程序在控制台窗口中的输出结果。
publicclassJ_Hanoi
{
publicstaticvoidmb_hanoi(intn,charstart,chartemp,charend)
{
if(n<=1)
System.out.println("将盘从"+start+"移到"+end);
else
{
mb_hanoi(n-1,start,end,temp);
System.out.println("将盘从"+start+"移到"+end);
mb_hanoi(n-1,temp,start,end);
}//if-else结构结束
}//方法mb_hanoi结束
publicstaticvoidmain(Stringargs[])
{
mb_hanoi(3,'S','T','E');
}
}
程序运行结果是:
(难度系数 B知识点:
迭代)
答案:
将盘从S移到E
将盘从S移到T
将盘从E移到T
将盘从S移到E
将盘从T移到S
将盘从T移到E
将盘从S移到E
六、编程题(2题;每题10分,共20分)
1从键盘输入数据,保存到f:
/student.txt上并在屏幕上显示。
(难度系数A,知识点:
输入输出处理)
importjava.lang.*;
importjava.io.*;
publicclassreadWrite
{
publicstaticvoidmain(Stringar[])throwsIOException
{
InputStreamReaderinReader=newInputStreamReader(System.in);
BufferedReaderbStream=newBufferedReader(inReader);
FileOutputStreamfWrite=newFileOutputStream("lx.txt",true);
StringrString;
do
{
System.out.println("\nPleaseenter:
");
System.out.flush();
rString=bStream.readLine();
System.out.println("HelloUser>Thisis:
");
fWrite.write(rString.getBytes());
System.out.println(">"+rString);
}while(rString.length()!
=0);
}
}
2编程计算三角形的面积和周长。
要求如下:
(1)、设计一个接口InterfaceShape,其中有计算三角形的面积和周长的抽象方法;
(2)、设计一个点类Point,其中有必要的构造方法和一般的访问器方法(getXXX())和修改器方法(setXXX());
(3)、通过实现InterfaceShape接口类的方式,并使用Point类,设计三角形Triangle类,其中有必要的构造方法和计算三角形的面积和周长的方法;
(4)、设计一个主类Shape,对使用Point类,设计三角形Triangle类进行测试,计算三角形的面积和周长,并在屏幕上输出。
难度:
A;知识点:
综合,面向对象编程。
答案:
InterfaceShape接口:
publicinterfaceInterfaceShape
{
publicabstractdoublegetArea();
publicabstractdoublegetFerence();
}
Point类:
publicclassPoint
{
doublex;
doubley;
publicPoint(doublex,doubley)
{
this.x=x;
this.y=y;
}
publicdoublegetX()
{
returnx;
}
publicvoidsetX(doublex)
{
this.x=x;
}
publicdoublegetY()
{
returny;
}
publicvoidsetY(doubley)
{
this.y=y;
}
}
Triangle类
publicclassTriangleimplementsInterfaceShape
{
Pointa;
Pointb;
Pointc;
publicdoubles1;
publicdoubles2;
publicdoubles3;
publicTriangle(PointA,PointB,PointC)
{
this.a=A;
this.b=B;
this.c=C;
}
//三角形面积
publicdoublegetArea()
{
doublep=(this.getS1()+this.getS2()+this.getS3())/2;
returnMath.pow(p*(p-this.getS1())*(p-this.getS2())*(p-this.getS3()),0.5);
}
//三角形周长
publicdoublegetFerence()
{
returnthis.getS1()+this.getS2()+this.getS3();
}
publicdoublegetS1()
{
returnMath.sqrt(Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(),2));
}
publicdoublegetS2()
{
returnMath.sqrt(Math.pow(a.getX()-c.getX(),2)+Math.pow(a.getY()-c.getY(),2));
}
publicdoublegetS3()
{
returnMath.sqrt(Math.pow(b.getX()-c.getX(),2)+Math.pow(b.getY()-c.getY(),2));
}
}
Shape测试类:
publicclassShape
{
publicstaticvoidmain(String[]args)
{
Pointa=newPoint(0,0);
Pointb=newPoint(3,0);
Pointc=newPoint(0,4);
Triangletri=newTriangle(a,b,c);
System.out.println("三角形面积:
"+tri.getArea());
System.out.println("三角形周长:
"+tri.getFerence());
}