Java期中测试试题卷及答案
《java程序设计》期中测试题

《Java程序设计》期中测试题一、选择题(每题2分,共20分)1. Java 源程序编译后产生的字节码文件的扩展名为( A )。
A. javaB. classC. htmlD. exe2. 以下标识符中哪项是不合法的( D )。
A. BigOlLong$223B. utfintC. $12sD. 3d3. Java中main()函数的返回值是什么( A )。
A. StringB. intC. charD. void4. 设数组定义:int[] a=new int[10];则数组的第一个元素的正确引用方法为( B )。
A.a[1] B.a[0] C.a [] D.a5. Java中导入类包的关键字是( B )标记符。
A. class B. import C.extends D.implements6. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为( C )。
A.隐藏 B.覆盖 C.重载 D.Java不支持此特性7. 创建了java源文件后,就要使用java编译器( A )对其进行编译。
A. javacB. javaC. javawD. javam8. 设x为float型变量,y为double型变量,a为int型变量,则表达式x+y*a/x 的值为( C )类型。
A. intB.longC. doubleD.char9. 如果result是布尔变量,下面哪个选项是正确的:( D )A.result = true;B.if(result=0){//do something… }C.if(result!=0){//do something… }D.result = 1;10. 关于变量和它们范围的说法,不正确的是:( C )A.实例变量是类的成员变量B.实例变量要用关键字static来声明C.在一个方法执行前,定义在该方法的局部变量就被创建D.局部变量必须在它们使用前初始化二、程序填空题(每空2分,共20分)1. 下面是一个类的定义,请完成程序。
Java语言期中考试试题及答案-1

Java语言期中考试试题及答案-1一、选择题1. 下列哪个关键字不是 Java 中的保留字?- a) byte- b) int- c) goto- d) long答案:c) goto2. 在 Java 中,整数类型的默认值是多少?- a) 0- b) 1- c) -1- d) 无默认值答案:a) 03. 下面哪个选项用来创建对象?- a) new- b) create- c) make- d) object答案:a) new4. Java 中的关键字 `final` 的作用是什么?- a) 用于声明常量- b) 用于声明最终类- c) 用于声明最终方法- d) 以上都是答案:d) 以上都是5. 在 Java 中,以下哪个选项可以用来提高执行效率?- a) 尽量使用基本数据类型- b) 尽量使用引用数据类型- c) 以上都是- d) 无法通过数据类型选择提高执行效率答案:a) 尽量使用基本数据类型二、填空题1. Java 程序的入口是 `____` 方法。
答案:main2. 下面的代码会输出什么结果?int a = 5;int b = 2;System.out.println(a % b);答案:13. 下面的代码存在一个编译错误,请找出错误并修改。
int a = 10;int b = 20;int sum = a + bSystem.out.println(sum);答案:在 `int sum = a + b` 行末缺少分号,应修改为 `int sum = a + b;`三、简答题1. 简要解释 Java 中的封装(Encapsulation)是什么?答案:封装是一种面向对象编程的原则,它将数据和操作数据的方法组合在一起,通过使用访问修饰符对数据进行保护,使得数据只能通过预定的方法进行操作,并且只暴露必要的接口,从而隐藏具体的实现细节。
2. 简要解释 Java 中的继承(Inheritance)是什么?答案:继承是一种面向对象编程的机制,它允许一个类(子类)继承另一个类(父类)的属性和方法。
java期中测试题

Java语言程序设计基础综合测试题一、选择题。
1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。
A、javaB、classC、htmlD、exe答:B2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()?A、public static void main()B、public static void main(String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )答:B3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( )答:A4.下列哪个是合法的Java标识符?()A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、273.5答:B 、 C5.Java Application源程序的主类是指包含有()方法的类。
A、main方法B、toString方法C、init方法D、actionPerfromed方法答:A6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64答:B7.设 a = 8,则表达式 a >>> 2 的值是( )。
A、1B、2C、3D、4答:B7.若a的值为3时,下列程序段被执行后,c的值是多少?()c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;A、1B、2C、3D、4答:C8.对于构造函数,下列叙述正确的是()。
java期中考试参考答案.doc

杭州电子科技大学考试参考答案课程名称Java语言程序设计考试日期2010年4月成绩考生姓名学号(8位)(-)判断题。
请在相应题号下,填入4或x(每题1分,共10分)(1) (2) (3) (4)(5)(6) (7)(8) (9) (10)X X X X X X X(-)单选题。
请在相应题号下,填入选项。
(每题2分,共30分)(1) (2)(3)(4)(5)B A A A C(6)(7)(8)(9)do)B D A B A(11) (12)(13)(14)(15)D A B c A(三)程序选择题(每空2分,共20分,第6题填空)(1) (2) (3) (4)(5)A D AB D(6)(7)(8)(9)do)7 C A D B(四)程序阅读及填空题(每空4分,共20分)将运行时的输出结果写在答卷纸的相应题号下。
程序 1 int, int __________________________程序 2 s=180 __________________________程序 3 1 2 3 4 5 8 9 _____________________程序4 OK ________________________________程序5 18()程序设计题(20分)(如果一页纸不够,请写在反面)程序设计第一题:public class MyDate(int year z month,day;boolean isLeapyear(){if(year%4==0&&year%100!=0||year%400==0) return true;elsereturn false;程序设计第二题:2、public class Auto{ double speed=0; void start () {speed+=10;}void speedup() {speed+=20;}void stop () {speed=0;class Bus extends Auto{ int passenger=0;void gotOn()passenger++;void gotOf f()(passenger--;}}程序设计第三题:3、import java.io.*;public class MyMidExam{static boolean isNarcissus(int n)(int sum=0;int a,b,c;a= n%10;〃个位数b=(n/10)%10;// 十位数c= n/100; 〃百位数sum=a*a*a+b*b*b+c*c*c;if(sum==n)return true;elsereturn false;}public static void main(String []args) {int i=0,sum=0;for(i=100;i<1000;i++)(if(isNarcissus(i))System.out.println("找到:"+i);。
Java期中考试参考答案

Java期中考试参考答案一、编程题1.P118 ——4.191.public class DigitalPyramid {2.3.public static void main(String[] args) {4.// TODO Auto-generated method stub5.for(int i = 0; i < 8; i++)6.{7.8.//输出空格9.for(int j = 0; j < 7 - i; j++)10.System.out.print(" ");//5个空格11.12.//输出左边递增数字13.for(int k = 0; k < i + 1; k++)14.System.out.printf("%5d", (int)Math.pow(2,k));15.16.//输出右边递减部分17.for(int m = i; m > 0; m--)18.System.out.printf("%5d", (int)Math.pow(2,m-1));19.20.//换行21.System.out.println();22.}23.}24.}2.P326 ——11.1//GeometricObject.javapublic class GeometricObject {private String color;private boolean filled;private java.util.Date dateCreated;public GeometricObject(){this.dateCreated = new java.util.Date();}public GeometricObject(String color, boolean filled){this.color = color;this.filled = filled;this.dateCreated = new java.util.Date();}public String getColor(){return color;}public void setColor(String color){this.color = color;}public boolean isFilled(){return filled;}public void setFilled(boolean filled){this.filled = filled;}public java.util.Date getDateCreated(){return dateCreated;}public String toString(){return"Created on "+dateCreated+"\ncolor is "+color+"\nfilled:"+filled;}}//Triangle.javapublic class Triangle extends GeometricObject {private double side1 = 1.0;private double side2 = 1.0;private double side3 = 1.0;public Triangle(){}public Triangle(double side1, double side2, double side3){ this.side1 = side1;this.side2 = side2;this.side3 = side3;}public Triangle(double side1, double side2, double side3, String color, boolean filled){this(side1, side2, side3);setColor(color);setFilled(filled);}public double getArea(){double s = (side1 + side2 + side3) / 2.0;double area= Math.pow(s* (s- side1) * (s- side2) * (s- side3), 0.5);return area;}public double getPerimeter(){return side1 + side2 + side3;}public String toString(){return super.toString()+"\nArea = "+getArea()+"\nPerimeter = "+getPerimeter();}}//TestTriangle.javapublic class TestTriangle {public static void main(String[] args) {// TODO Auto-generated method stubTriangle t = new Triangle(1.0, 1.5, 1.0, "yellow", true);System.out.println(t.toString());Triangle t1 = new Triangle(3,4,5);System.out.println(t1.toString());}}3.P399 ——14.21.//Circle.java2.public class Circle {3.private double radius = 1.0;4.public Circle(){5.6.}7.public Circle(double radius){8.this.radius = radius;9.}10. public double getArea(){11. return Math.PI * radius * radius;12. }13.}1.//ComparableCircle.java2.public class ComparableCircle extends Circle implements Comparable{3. public ComparableCircle(double radius){4. super(radius);5. }6. public int compareTo(Object o){7. return (int)(getArea() - ((ComparableCircle)o).getArea());8. }9.}1.public class TestComparableCircle {2. public static void main(String[] args) {3. // TODO Auto-generated method stub4. ComparableCircle c1 = new ComparableCircle(5.0);5. ComparableCircle c2 = new ComparableCircle(6.0);6. int result = pareTo(c2);7. if(result < 0)8. System.out.println("c1 < c2");9. else if(0 == result)10. System.out.println("c1 = c2");11. else12. System.out.println("c1 > c2");13. }14. }二、改错题1.P324 ——11.141.//P324 11.142.public class Test {3.4.public static void main(String[] args) {5.// TODO Auto-generated method stub6.Object fruit = new Fruit();7.Object apple = (Apple)fruit;8.}9.10.}11.12.class Apple extends Fruit{13./*public Apple(){14.System.out.println("Apple's constructor is invoked!");15.}*/16.}17.18.class Fruit{19./*public Fruit(){20.System.out.println("Fruit's constructor is invoked!");21.}*/22.}运行结果:Exception in thread "main" ng.ClassCastException: Fruit cannot be cast to Appleat Test.main(Test.java:7)改正:可将第6行改为Object fruit = new Apple();2.P235 ——8.15书上程序正确,类内可直接访问私有数据。
(2)--《JAVA程序设计》期中考试(试卷1答案题解)

return no+”:”+name+”:”+age; } } (2)下面的代码用于将 Pupil 对象存储到集合 Vector 中,请根据注释完成程序中的空白(12 分):
import java.util.Vector; public class TestPupil {
Pupil stu1 = new Pupil(1,"John",18);
Pupil stu2 = new Pupil(2,"Mary",20);
Pupil stu3 = new Pupil(3,"Jack",19);
Pupil stu4 = new Pupil(4,"Linda",20);
ShapeInterface shape = null;
shape = new Square(3);
System.out.println(“该正方形的面积为:”+shape.getArea());
System.out.println(“该正方形的周长为:”+shape.getLength());
shape = new Triangle(4);
}
}
(3) 等边三角形类(4 分)
public class Triangle implements ShapeInterface {
double sideLength;
public Triangle (double sideLength) {
//调用超类的构造方法
this.sideLength = sideLength;
A、D,且 List 只能接受一个参数。另外,类型参数对于赋值的两端必须一致,即使赋值号右边的 ArrayList
《Java语言程序设计》期中试卷(答案)

2009-2010学年第一学期《Java 语言程序设计》期中试卷(答案) 院系:计算机 年级:2006 专业:计算机科学技术 班级: 学号: 姓名:2、此试卷适用班级:计算机本科专业。
一、判断题,对的打[√]、错的打[╳]:(10分,每小题2分) 1. 一个".java"源文件中可以包括多个公共类。
(╳) 2. Java 中的char 型变量中能存贮一个中文汉字。
(√) 3. 可以设计继承String 类的Java 子类。
(╳) 4. Java 中的数组没有length()这个方法,但有length 的属性,而String 有length()这个方法。
(√) 5. Java 中wait()方法用来暂时中止执行的线程,在睡眠后,线程将进入就绪状态。
(╳) 二、单选择题:(20分,每小题2分) 1.下列语句哪一个正确( B )A . Java 程序经编译后会产生machine codeB . Java 程序经编译后会产生byte codeC . Java 程序经编译后会产生DLLD . 以上都不正确2.下列循环体执行的次数是( C )int y=2, x=4;while(--x!=x/y){ }A . 1B . 2C . 3D . 4————————————装————————————————订————————————————线————————3.假设a是int类型的变量,并初始化为1,则下列( D )是合法的条件语句。
A. if(a){}B. if(a<<=3){}C. if(a=2){}D. if(true){}4.执行如下程序代码a=2;c=1;do{++c;--a;}while(a>0);后,C的值是(A )A.3 B.2 C.1 D.死循环5.下列各选项中属于不合法标识符的是( C )。
A.$million B.$_million C.2$_million D.$2_million 6.下列表达式1+2+”aa”+3的值是( B )A.“12aa3”B.“3aa3”C.“12aa”D.“aa3”7.设 y = 2 , z = 3 , n = 4,则表达式 n=n+-y*z/n 的值是( A )。
java考试题及答案

java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。
A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。
答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。
答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。
答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。
答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。
答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。
()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试类型:一纸闭卷( );完全闭卷( √ );开卷( )第2学期期中测试试卷学 院 班 级 姓 名 学 号一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 关于对象成员占用内存说法正确的是( ) A .同一个类的对象共用一段内存B .同一个类的对象使用不同一段内存,但静态成员共享相同的内存空间C .对象的方法不占用内存D .以上都不对 2.关于方法的说法正确的是( )A .方法中的形参可以和方法所属类的属性相同B .方法必须有形参C .同类不同的方法中不能有同名的自变量,否则会产生不可预测的结果D .没有返回值的方法可以用void 来表示,也可以不加 3. 类Test1定义如下:1. public class Test1{2. public float aMethod (float a, float b ){ }3.4. }将以下方法插入行3不合法的是( )A .public float aMethod (float a ,float b ,float c ){ }B. public float aMethod(float c,float d){ }C. public int aMethod(int a,int b){ }D. private float aMethod(int a,int b,int c){ }4.构造函数被调用于()A.创建对象时B.类定义时C.使用对象的方法时D.使用对象的属性时5.下面说法正确是()A.每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
B. 如果类里定义了一个或多个构造方法,Java也提供默认的构造方法。
C. 每个Java类中用户必须定义至少一个构造方法D. 以上都不对6.关于继承的说法正确是的()A.子类将继承父类所有的属性和方法B.子类继承父类的非私有属性和方法C.子类只能继承父类public方法和属性D.子类只能继承父类的方法,而不能继承属性7.下列说法正确的是()A. 子类只能覆盖父类的方法,而不能重载B. 子类只能重载父类的方法,而不能覆盖C. 子类不能定义和父类同名同形参的方法,否则系统将不知道使用哪个方法D. 重载就是一个类中有多个同名但有不同形参或方法体的方法8.this和super()A. 都可以用在main( )方法中B.指向一个内存地址C.不能用在main()方法中 D.意义相同9.下列关于修饰符混用说法中,错误的是()。
A.abstract 不能与final并列修饰同一个类B. abstract类中不可以有private的成员C. abstract方法必须在abstract类和接口中D.static方法中能处理非static的属性10.所谓方法重载,就是在类中创建了多个方法,它们具有相同的名称()。
A.有不同的参数个数或不同的参数数据类型B.有不同返回类型C.有不同的参数名称D.有不同的方法体11.以下程序段的哪行有错误()。
1 import java.Applet.*;2 import java.awt.*;3class Chengji{4protected float f(float x,float y){5return x*y;6}7}8class Xiangjia extends Chengji{9private float f(float x,float y){10return x+y;11}12}A. 8行B. 9行C. 4行D. 10行12.下列说法正确的是()A. package语句作为Java源文件的第一个语句B.import语句作为Java源文件的第一个语句C.package语句作为Java源文件的类中的一条语句D.import语句作为Java源文件的类中的一条语句13.下列说法正确的是()。
A.编译后的Java的源程序根据文件中定义的类和接口的个数产生的相应个数的.class 字节码B .Java 语言的源文件中不是任何地方都可以加注释的C .一个文件中可以有多个访问权限为public 的类D .含有main ()方法的类可以定义为public 类,也可以为其他类 14.下列有关抽象类的说法正确的是( )。
A. 抽象类中必须包含抽象方法 B .抽象类不能实例化 C .抽象类不一定被继承 D .用interface 定义抽象类 15.下列循环的循环体是( ): while (int i<7) ; { i++;System.out.println(“i is “+i); }A. { i++; System.out.println(“i is “+i); }B. i++;C.;D. System.out.println(“i is “+i);二.判断题(本大题共15小题,每小题1分,共15分)( 正确的打√, 错误的打×)1.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( × )2.一个类可以生成多个对象,并且这些对象都具有相同的属性。
( √ )3.使用静态属性必须以类名作为前缀。
( × )4.由继承性可知,程序中子类拥有的成员数目一定大于或等于父类拥有的成员数目。
( × )5.如果q 是父类Parent 的对象,而c 是子类Child 的对象,则语句q=c 是正确的。
( √ )6.重载和覆盖是一回事。
( × )7.子类要调用父类的方法,必须使用super 关键字。
( √ )8.与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。
(√)9.抽象方法必须在抽象类中,所有抽象类中的方法都必须是抽象方法。
(×)10.最终类不能派生子类,最终方法不能被覆盖。
(√)11.一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。
( √)12.当子类继承某个抽象类时,如果没有将全部的抽象方法重写,则它仍然是一个抽象类,声明时必须要用abstract修饰。
(√)13.在Java程序设计语言中,“方法和函数”是与类分不开的,每一个方法必定属于某一个类。
( √)14.Java程序中,创建新的类对象用关键字new。
( √)15. 构造函数没有返回值类型,所以是void。
(×)题4+4+9+4+4分,共25分.)1.下面这段程序的功能是:import java.io.*;public class Reverse{public static void main(String args[]){int i ,n=10;int a[ ]=new int [10];for (i=0;i<n;i++)try{BufferedReader br=new BufferedReader(newInputStreamReader(System.in));a[i]=Integer.parseInt(br.readline()); //输入一个整数}catch (IOException e){ } ;for(i=n-1;i>=0;i--)System.out.print(a[i]+”#”);}}2. 下列程序函数调用顺序是:(写函数名,从进入到返回到结束都要写)main、fac、sumf、jiechen、sumf、main. , 程序的功能是,执行结果是public class Fac {Fac(){}public long sumf(int x){long s=0;for(int j=1;j<=x;j++)s=s+jiechen(j);return s;}public long jiechen(int i){long f=1;for(int j=1;j<=i;j++){f=f*j;}return f;}public static void main(String args[]){Fac f=new Fac();System.out.print("1!+2!+3!="+f.sumf(3));}}3、下面是父类Employee和子类Boss的定义,根据程序内容在下划线①到⑨上填空。
1.class Employee{2.① String name; //限制name的使用范围限于本类。
3.protected int id; //限制id的使用范围限于本包和所有子类。
4.public double salary;5.Employee(String aname,double asalary){6. name=aname;7. salary=asalary; }8.Employee(int aid,double asalary) {9.10. this(“Employee#”+aid, asalary);//调用第5行的构造方法语句,使name属性为“employee#”+id11. }12.double getSalary(){return salary;}13.② getName(){return name;}14.int getId(){ return id; }15.}16.//定义Employee的子类Boss17.③ Class Boss extends Employee{18.double bonus;19.Boss(String aname,double asalary,double abonus) {④ super(aname,asalary,);20. bonus=abonus; }21.Boss(int aid,double asalary,double abonus) {22. super(aid,asalary);23. bonus=abonus;24. }25. // 19行、21行方法同名现象称为类多态中的⑤现象。
26. void setBonus(double b){bonus=b;}27. double getSalary(){return salary+bonus;}28. //27行的方法是对父类同名方法的⑥。
29.public static void main(String args[]) {// main函数头部30.//下面是新建一个Boss对象b,工号是3,底薪为3000,奖金为1000。
⑦Boss b=new Boss(3,3000,1000);//在下面打印刚新建的Boss b的姓名和工号、工资。