java程序设计模拟题含答案_精品文档Word文件下载.doc
《java程序设计模拟题含答案_精品文档Word文件下载.doc》由会员分享,可在线阅读,更多相关《java程序设计模拟题含答案_精品文档Word文件下载.doc(4页珍藏版)》请在冰豆网上搜索。
6.下面关于类的说法,不正确的是(C)。
(A)类是同种对象的集合和抽象 (B)类属于Java语言中的复合数据类型
(C)类就是对象 (D)对象是Java语言中的基本结构单位
7.为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为(D)
(A)abstractvoidf() (B)publicvoidf()
(C)finalvoidf() (D)staticvoidf()
8.构造函数何时被调用?
( A )
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
9.关于继承的说法正确的是:
( B)
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
10.覆盖与重载的关系是 ( A )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
11.异常包含下列哪些内容?
( D )
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.程序的编译错误
D.以上都是
12.
对于已经被定义过可能抛出异常的语句,在编程时:
A、必须使用try/catch语句处理异常,或用throws将其抛出
B.如果程序错误,必须使用try/catch语句处理异常
C.可以置之不理
D.只能使用try/catch语句处理
13.字符流与字节流的区别在于( D )
A.前者带有缓冲,后者没有
B.前者是块读写,后者是字节读写
C.二者没有区别,可以互换使用
D.每次读写的字节数不同
14.下列哪个类不属于字节流(A)
A、InputStreamReaderB、BufferedInputStream
C、FileInputStreamD、OutputStream
15.下列说法中,错误的一项是(A)。
A.线程一旦创建,则立即自动执行
B.线程创建后需要调用start()方法,将线程置于可运行状态
C.调用线程的start()方法后,线程也不一定立即执行
D.线程处于可运行状态,意味着它可以被调度
16.下列说法中,错误的一项是(A)。
A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程
C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线
17.在以下(C)情况下,线程就进入可运行状态
A、线程调用了join()方法时B、线程调用了sleep()方法
C、线程调用了yield()方法时D、时以上都是
18.进行Java基本GUI设计需要用到的包是(C)。
A.java.io B.java.sql C.java.awt D.java.rmi
19.声明并创建一个按钮对象b,应该使用的语句是(A)
A、Buttonb=newButton();
B、buttonb=newbutton();
C、Buttonb=newb();
D、b.setLabel(“确定”);
20.定义一个接口必须使用的关键字是(C)
A、public B、class C、interface D、static
题号
1
2
3
4
5
6
7
8
9
10
答案
11
12
13
14
15
16
17
18
19
20
二、填空题(本题共8个空,前面6空每空1分,后面2空为程序代码填空每空4分,共14分)
1.Java源程序文件和字节码文件的扩展名分别为.class和.java。
2.导入mypackage包中的所类的命令是(importmypackage.*;
)。
3.所有的构件都可以通过add()方法向容器中添加构件。
4.异常处理是由try、(catch)和finally块三个关键所组成的程序块。
5.定义类时需要class关键字,继承类时需要extends关键字,实现接口时需要关键字implements。
6.如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
7..已知已经存在一数组,以下是一成员方法,当调用该成员方法时可以实现对数组进行冒泡排序,请将代码补充完整。
publicstaticvoidsort(intarr[]){
inti,k,temp;
intlen=arr.length;
for(inti=0;
_i<
_len_____;
i++){
for(intk=len-1;
k>
i;
k--){
if(__arr[k]<
arr[k-1]____){
temp=arr[k-1];
_arr[k-1]=_arr[k]___;
arr[k]=temp;
}
8.12、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=a.length-1;
i>
=0;
i--)
System.out.print(a[i]+"
"
);
四、读程序写结果。
(本题共2小题,每题6分,共12分)
1.以下程序:
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("
Peter"
17);
System.out.println(c.name+"
is"
+c.age+"
yearsold!
【运行结果】Peteris17yearsold!
_
2、以下程序:
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
publicvoidprintCourseInfo(){
System.out.println("
课程号:
+cNumber+"
课程名:
+cName+"
学分:
+cUnit);
classCourseTest{
Coursec;
c=newCourse("
101"
"
ASP"
3);
c.printCourseInfo();
【运行结果】课程号:
101课程名:
ASP学分:
3_
五、程序改错题(每个错误4分,共16分)
1.1已知以下程序功能是实现求一个数组的长度,并求其平均数,请改正其中的两处错误
publicclassac6_7{
staticdoubleaverage(doubleascore[],intlen){
doubleaaver=0;
for(inti=0;
i>
len;
i++)
aaver=aaver+ascore[i];
aaver=aaver/len;
returnaaver;
publicstaticvoidmain(Stringargs[]){
inti;
doubleaver1;
doubles1[]={90,56,86.5,87,99,67.5,65,80};
System.out.println("
s1.length="
s1.length);
aver1=average(s1,s1.length);
aver1="
+aver1);
(1)_____第4行i>
len改为i<
len___________________________
(2)__第13行改成___System.out.println("
+s1.length);
2、 下列源程序oushu.java是实现2+4+6+…+100的和。
2publicclassTestThread1{
publicstaticvoidmain(Stringargs[]){
Runner1r=newRunner1();
r.start();
i<
100;
i--){
System.out.println("
MainThread:
------"
+i);
}
classRunner1extendsRunab