第1页共4页(计算机科学与技术本科)《JAVA程序设计》期末考试试卷考生注意:1.本试卷满分100分。2.考试时间90分钟。3.卷面整洁,字迹工整。4.填写内容不得超出密封线。总分题号一二三四五六核分人题分21204019复查人得分一、单选择题(每题2分,共计20分)1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。A.javaB..classC.htmlD..exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。A.3B.3.5C.4D.53、不允许作为类及类成员的访问控制符的是()。A.publicB.privateC.staticD.protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()5、下面的代码段执行之后count的值是什么()intcount=1;for(inti=1;i=5;i++){count+=i;}System.out.println(count);A、5B、1C、15D、166、定义一个类,必须使用的关键字是()A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()A、p.add(b);B、p.add(b,North);C、p.add(b,South);D、b.add(p,North);9、声明并创建一个按钮对象b,应该使用的语句是()A、Buttonb=newButton();B、buttonb=newbutton();C、Buttonb=newb();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayoutB、BorderLayoutC、CardLayoutD、null二、填空题(每题3分,共计24分)1、开发与运行Java程序需要经过的三个主要步骤为、和。2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占用字节内存空间。3、设x=2,则表达式(x++)/3的值是。4、若x=5,y=10,则xy和x=y的逻辑值分别为和。5、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是,该语句应该放在程序的位置为:。7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。ints=0;for(inti=0;iMyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8、在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现重继承关系。三、判断题(每题2分,共计18分)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。()2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。()3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。()4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。()5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。()6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。()7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。()8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。()9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。()三、写出下面程序的运行结果(1小题8分,2.3.4小题10分)1、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[])密封线函授站:姓名:专业:学号:座位号:第2页共4页(计算机科学与技术本科){ABs=newAB(Hello!,IloveJAVA.);System.out.println(s.toString());}}classAB{Strings1;Strings2;publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}运行结果:2、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;ia.length;i++)if(a[i]%3==0)s+=a[i];System.out.println(s=+s);}}运行结果:3、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){System.out.println(a=+a+\nb=+b);}}classSubClassextendsSuperClass{intc;SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;}}classSubSubClassextendsSubClass{inta;SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);A=aa+bb+cc;}voidshow(){System.out.println(a=+a+\nb=+b+\nc=+c);}}运行结果:4.阅读以下程序,写出输出结果。classAnimal{Animal(){System.out.print(Animal);}}publicclassDogextendsAnimal{Dog(){System.out.print(Dog);}publicstaticvoidmain(String[]args){Dogsnoppy=newDog();}}输出结果:第3页共4页(计算机科学与技术本科)《JAVA程序设计》答案一、单选择题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。A.javaB..classC.htmlD..exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。A.3B.3.5C.4D.53、不允许作为类及类成员的访问控制符的是()。A.publicB.privateC.staticD.protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()5、下面的代码段执行之后count的值是什么()intcount=1;for(inti=1;i=5;i++){count+=i;}System.out.println(count);A、5B、1C、15D、166、定义一个类,必须使用的关键字是()A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()A、p.add(b);B、p.add(b,North);C、p.add(b,South);D、b.add(p,North);9、声明并创建一个按钮对象b,应该使用的语句是()A、Buttonb=newButton();B、buttonb=newbutton();C、Buttonb=newb();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayoutB、BorderLayoutC、CardLayoutD、null二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。3、设x=2,则表达式(x++)/3的值是0。4、若x=5,y=10,则xy和x=y的逻辑值分别为true和false。5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;iMyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×)三、写出下面程序的运行结果1、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB(Hello!,IloveJAVA.);System.out.println(s.toString());}}classAB{Strings1;Strings2;第4页共4页(计算机科学与技术本科)publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){return