Java程序设计A期中测试参考解答
- 格式:docx
- 大小:32.00 KB
- 文档页数:7
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)是什么?答案:继承是一种面向对象编程的机制,它允许一个类(子类)继承另一个类(父类)的属性和方法。
广州民航职业技术学院2011/2012学年第一学期10信管1、2《Java程序设计》期中考试题(A卷)(闭卷)班级__10信管1班_______学号__30号__姓名____王运恒______成绩______一、选择题(请将答案按要求填在下表中;每题2分,共30分)1、Java源文件和编译后的文件扩展名分别为()A、.java和.classB、.class和.javaC、.class和.classD、.java和.java2、下列哪种类成员修饰符修饰的变量只能在本类中被访问?()A、protectedB、.publicC、defaultD、private3、Java语言类间的继承关系是()。
A、单继承B、多重继承C、不能继承D、不一定4、构造方法何时被调用( )A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时5、下列关于接口的说法,()是正确的A、接口可以像类一样定义成员变量B、接口可以像类一样定义成员方法C、接口不能给出方法的实现体D、接口不能继承接口6、下面哪种不是Java的数据类型()A、基本类型B、数组类型C、类D、界面类型7、下列说法中错误的是()A、在Windows系统下,Frame窗口是有标题、边框的B、Frame的对象实例化后,没有大小,但是可以看到C、通过调用Frame的setSize()方法来设定窗口的大小D、通过调用Frame的setVisible(true)方法来设置窗口为可见8、对于一个三位的正整数n=789,以下结果为8的()A、n/10%2B、(n-n%10)/100C、n%10D、n%100/109、Java语言中创建一个对象使用的关键字为()A、classB、interfaceC、newD、create10、下列关于接口的说法,()是正确的A、接口可像类一样定义成员变量B、接口以像类一样定义成员方法C、接口不能给出方法的实现体D、接口不能继承接口11、自定义异常时,可以通过对下列哪一项进行继承?()A、Error类B、Applet类C、Exception类及其子类D、AssertionError类12、设有对象x具有属性a则访问该属性的方法为()A.a.x B、a.x( ) C、x.a D、x.a ( )13、以下语句执行后,str_r的结果为()。
java程序设计试题及答案Java程序设计试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字是Java中用于定义类的?- A. `public`- B. `class`- C. `interface`- D. `extends`答案:B2. Java中,哪个方法用于定义类的构造函数?- A. `main()`- B. `init()`- C. `constructor()`- D. 与类名相同的方法名答案:D3. 以下哪个是Java中的合法标识符?- A. `2variable`- B. `variable-name`- C. `class`- D. `default`答案:B4. Java中的`boolean`类型有几个可能的值? - A. 0- B. 1- C. 2- D. 无穷多答案:C5. Java中,哪个不是访问控制修饰符?- A. `public`- B. `private`- C. `static`- D. `protected`答案:C6. 下列哪个是Java中的包装类?- A. `String`- B. `Integer`- C. `ArrayList`- D. `HashMap`答案:B7. Java中,哪个关键字用于实现接口?- A. `implements`- B. `extends`- C. `override`- D. `abstract`答案:A8. 在Java中,哪个方法用于返回对象的字符串表示?- A. `toString()`- B. `equals()`- C. `hashCode()`- D. `compareTo()`答案:A9. 下列哪个是Java的异常类?- A. `IOException`- B. `String`- C. `Integer`- D. `ArrayList`答案:A10. Java中,哪个关键字用于抛出异常?- A. `throws`- B. `throw`- C. `catch`- D. `try`答案:A二、简答题(每题10分,共30分)1. 解释Java中的继承机制,并给出一个简单的例子。
Java测试题(含答案和部分解析)一、选择题1. 以下哪个不是Java基本数据类型?A. intB. charC. StringD. boolean答案:C解析:Java的基本数据类型包括:int, byte, short, long, float, double, char, boolean。
String是一个类,不是基本数据类型。
2. 在Java中,下列哪个操作符用于取模?A. %B. /C.D. -答案:A解析:取模操作符是%,用于获取两个数相除的余数。
3. 以下哪个方法可以实现字符串的截取?A. substring(int start, int end)B. substring(int start)C. substring(int start, int length)D. substring(int index)答案:A解析:substring(int start, int end)方法用于截取字符串,从start开始到end结束(不包括end)。
4. 以下哪个方法用于判断字符串是否为空?A. isEmpty()B. isBlank()C. isEmptyD. isNull()答案:A解析:isEmpty()方法是String类的一部分,用于判断字符串是否为空。
二、填空题5. 在Java中,一个类中的构造方法如果没有显式定义,系统会自动提供一个默认的构造方法,该构造方法称为______。
答案:默认构造方法6. 在Java中,如果一个方法没有返回值,则其返回类型应定义为______。
答案:void7. 在Java中,用于表示正则表达式的类是______。
答案:Pattern三、判断题8. 在Java中,所有的类都默认继承自Object类。
答案:正确9. Java中的静态变量在类加载时初始化。
答案:正确10. 在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书上程序正确,类内可直接访问私有数据。
《Java程序设计》课后习题参考答案Java程序设计课后习题参考答案1. 介绍在 Java 程序设计课程中,课后习题是帮助学生巩固知识、加深理解和提高编程能力的重要环节。
本文将为大家提供《Java程序设计》课后习题的参考答案,以帮助学生更好地学习和掌握 Java 编程。
2. 基本概念Java 程序设计课后习题涵盖了从基础到高级的各种知识点,包括但不限于变量、数据类型、条件语句、循环语句、数组、类、对象、继承、多态等内容。
通过解答这些习题,学生可以加深对这些概念的理解,并且通过实际操作来巩固他们的编程能力。
3. 习题解答策略当解答课后习题时,以下几个策略可以帮助你更好地理解和解决问题:3.1 仔细阅读题目要求。
确保自己充分理解题目所要求的功能和目标。
3.2 分析问题。
在着手解答问题之前,先理清思路,分析问题的要点和关键部分。
3.3 设计算法。
根据问题的要求,设计一个合适的算法来解决问题。
3.4 编写代码。
用 Java 编程语言将你设计的算法转化为代码实现。
3.5 测试和调试。
对编写的代码进行测试和调试,确保程序能够正常运行,并且得到正确的结果。
4. 习题参考答案示例下面我们将列举几个常见的习题参考答案示例,以帮助大家更好地理解和学习 Java 程序设计:4.1 变量与数据类型:习题要求定义一个整型变量并赋值为10,然后输出该变量的值。
```public class VariableExample {public static void main(String[] args) {int num = 10;System.out.println("变量的值为:" + num);}}```4.2 条件语句:习题要求判断一个数是否是偶数,如果是,则输出“偶数”,否则输出“奇数”。
```public class EvenOddExample {public static void main(String[] args) {int num = 5;if (num % 2 == 0) {System.out.println("偶数");} else {System.out.println("奇数");}}}```4.3 循环语句:习题要求输出1到10之间的所有偶数。
JAVA程序设计期中基础知识测试A卷⼀、单项选择题(请将答案统⼀填写到题后表格中)1、Java编译器将源代码⽂件转换成:A 机器码B EspressoC c语⾔D字节码2、类的另⼀种说法是:A 对象B 模板C 实例D 程序3、类的实例⽅法所表⽰的是:A那个类的属性 B 那个类的⾏为C从那个类创建的对象的⾏为 D实例对象的状态4、使⽤什么来调⽤对象的构造⽅法和创建对象A +B newC instanceofD import5、当在计算条件表达式之前⾄少执⾏循环中的语句⼀次,应该使⽤:A do — while 循环B for循环C while循环D continue 语句6、哪⼀个运算符能返回除法运算的余数:A /B %C ?D +7、所有类的超类是:A SystemB ObjectC MathA 没有B 存储在JDK⽂件夹下所有的类C CLASSPATH⽂件夹中的类D /doc/d4f21125f18583d0496459ff.html ng 包中的类9、运⾏Java编译器的命令是:A javaB appletviewerC jdbD javac10、下⾯哪条命令可以运⾏java⼩应⽤程序:A javaB appletviewerC jdbD javac11、可以⽤来创建Java程序的SUN公司发布的免费⼯具集被称为:A JREB JDKC JVMD JNI12、对象的基本定义是下⾯中的哪⼀种:A 数据和能对数据进⾏的操作的集合B 能在浏览器或appletviewer中运⾏的任何Java程序C 联合起来形成完整应⽤程序的⽂件集合D 类⽂件13、域(属性)的作⽤是下⾯中的哪⼀种:A 存储表⽰对象状态的数据B 对对象的数据进⾏操作C 声明在当前类定义中使⽤的外部类D 打印⽂本信息到屏幕或appletviewer控制台14、下⾯表达式的值是多少: (int) 9.9A 9B 10C 9.9D 错误A while检验永远为真B 没有结束条件C 死循环D 以上全部都是16、switch语句中⽤什么词表⽰找不到匹配时使⽤的选择:A defaultB anyC last C none17、下列哪⼀种⽅法可以从该类的外部访问:A public void getValue( )B private void getValue( )C void pulic private getValue( )D void private getValue( )18、哪⼀⾏定义了⼀个静态变量:A pulic static int i ;B static int pulic i ;C int public static i ;D public int static i ;19、⼦类化⼀个类的关键字是:A subclassB augmentC modifyD extends20、若有命令 java Test Red Green Blue 则以下哪句话是不正确的?A 主⽅法的参数会获得值B 主⽅法的参数是个数组C 数组的长度应该是5D 若参数名叫args,则args[2]为“Blue”21、关于this(x,y);这个语句,以下理解正确的是:A 这是个叫this的⽅法的调⽤,参数为2个。
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 )。
信管13级Java语言程序设计A期中测试参考解答一.选择(共10题,每题1分或2分,共11分)1.JRE可以识别(D)文件。
A).java B).jreC).exe D).class2.如果将JDK安装到D:\Java\JDK文件夹,则应设置Path路径为(C)。
A)D:\Java B)D:\Java\JDK C)D:\Java\JDK\bin D)D:\Java\JRE3.编辑好源程序MyApp.java后,在命令提示符下进行编译,正确的命令是(D)。
A)java MyAppB)java MyApp.java C)javacMyAppD)javac MyApp.java4.以上源程序通过编译后,在命令提示符下解释执行,正确的命令是(A)。
A)java MyAppB)java MyApp.java C)javacMyAppD)javac MyApp.java5.每个对象都有类的(C)的副本。
A)对象B)引用C)实例变量D)方法6.main()方法的形参可以写作(B C)。
A)String argsB)String[] argsC)String args[] D)String[] args[]7.在类的内部声明,但又处于该类所有方法之外的变量是(A)。
A)实例变量B)局部变量C)类变量D)引用变量8.在方法内部声明的变量是(B)。
A)实例变量B)局部变量C)类变量D)引用变量9.当出现(B)时,子类中定义的新方法将取代父类中的相应方法。
A)继承B)覆盖C)重载D)多态10.类SavingsAccount是类BankAccount的子类,如果类SavingsAccount的构造函数中有super( ) 语句,则该语句将调用(D)。
A)类SavingsAccount的super()方法B)类BankAccount的super()方法C)类SavingsAccount的构造函数D)类BankAccount的构造函数二.简答(共4题,第1题1分,第2题1分,第3题2分,第4题5分,共9分)1.将引用变量作为实参传递给方法的形参时,传递的是引用?还是对象?解:引用2.对于一个未知数组长度的整型数组numbers,描述数组最后一个元素的表达式是什么?解:numbers[numbers.length - 1]3.(1)何种情况下,你不得不将类声明为抽象类?(2)抽象类是否可实例化?解:(1)类中至少有一个抽象方法(2)不能4.类A定义有方法m1( ),其子类B定义有方法m2( )。
(1)A类对象可访问这2个方法中的哪些方法?(2)B类对象可访问这2个方法中的哪些方法?(3)对于实际指向B类对象的类A引用变量,可访问这2个方法中的哪些方法?(4)若这2个方法都声明为private,B类对象可访问这2个方法中的哪些方法?解:(1)m1( )(2)m1( )与m2( ) (3)若无强制类型转换,只有方法m1( )(4)m2( )三.分析(共8题,第1题7分,第2题6分,第3题10分,第4题2分,第5题2分,第6题3分,第7题7分,第8题12分,共49分)1.以下Java程序未通过编译,请在错误处进行修改,或将改好的程序写在空白处。
解答:在错误处进行修改1public class LotsOfErrors {2public static void m ain(String[]args) {3System.out.println("I Rule");4message();5}67public static void message() {8System.out.println("The World");}9}2.以下程序的执行结果是什么?最后变量times为什么是这个值?public class Test{public static void main(String[] args){int times = 3;System.out.println("Before the call, variable times is " + times);nPrintln(times);System.out.println("After the call, variable times is " + times);}public static void nPrintln(int n){while(n > 0){System.out.println("n = " + n);n--;}}}解:Before the call, variable times is 3n = 3n = 2n = 1After the call, variable times is 3Java的参数传递机制是传值,而不是传址。
方法main( )中调用方法nPrint( ),实参times的值3传递给形参n,参数传递后,实参times的值不变。
换一个角度看:times是main( )方法中的局部变量,因此作用域仅限于main( )方法,生命周期从调用main( )方法开始,执行main( )方法完毕结束。
3.某类有两个同名方法add( ),这两个方法的返回类型相同,那么这两个方法的形参能否相同?为什么?这两个方法的形参能否不同?为什么?若两个同名方法add( )定义如下:double add(int num1, double num2){return num1 + num2;}double add(double num1, int num2){return num1 + num2 +1;}以下A)B)C)D)四选项中,分别用不同的实参调用add( )方法,其中哪些能通过编译,运行结果是什么?哪些不能通过编译?A)add(3, 3.14) B)add(3.14, 3) C)add(3, 3) D)add(3.14, 3.14)解:这两个方法的形参不能相同,因为同一类中不可能存在方法的覆盖。
这两个方法的形参可以不同,因为方法可以重载。
A)和B)能通过编译,运行结果分别是6.14和7.14。
C)和D)不能通过编译。
4.如果给定类X:class X{privateint count;}那么类Y正确吗?为什么?class Y{publicstatic void main(String args[]){X ob = new X();ob.count = 100;}}解:不正确。
类X的实例变量count是private的,无法在类X之外访问。
5.以下类X正确吗?为什么?class X{int meth(int a, int b){ ... }String meth(int a, int b){ ... }}解:不正确。
重载的方法必须具有不同的形参列表。
6.以下程序的运行结果是什么?若将倒数第4行public void p(inti){ 改成 public void p(doublei){ 后,程序的运行结果又是什么?为什么?public class Test{publicstatic void main(String[] args){A a = new A();a.p(10);}}class B{public void p(inti){}}class A extends B{public void p(inti) {System.out.println(i);}}解:10若将倒数第4行public void p(inti){ 改成 public void p(double i){ 后,方法由覆盖变成重载,程序运行结果,将什么都不显示。
7.已知类的层次结构为:class Asset { ... }classBankAccount extends Asset { ... }classSavingsAccount extends BankAccount { ... }(1)以下哪些语句是合法的?语句1:Asset asset = new BankAccount();语句2:Asset asset = new SavingsAccount();语句3:BankAccount account = new Asset();语句4:BankAccount account = new SavingsAccount();语句5:SavingsAccountsavingsAccount = new Asset();语句6:SavingsAccountsavingsAccount = new BankAccount();解:语句1、语句2、语句4合法。
(2)创建一个SavingsAccount对象时,这些类的构造函数的调用顺序依次是什么?为什么?解:依次调用类Asset、BankAccount、SavingsAccount的构造函数。
构造函数总是按派生的顺序被调用。
8.以下程序的运行结果是什么?class Flute extends Blue{public void method2( ){System.out.println("flute 2");}public String toString( ){return "flute";}}class Blue extends Moo{public void method1( ){System.out.println("blue 1");}}class Shoe extends Flute{public void method1( ){System.out.println("shoe 1");}}class Moo{public void method1( ){System.out.println("moo 1");}public void method2( ){System.out.println("moo 2");}public String toString( ){return "moo";}}public class PolymorphismTest{publicstatic void main(String[] args){Moo[] elements = {new Shoe(), new Flute(), new Moo(), new Blue( )};for(inti=0; i<elements.length; i++){System.out.println(elements[i]);elements[i].method1();elements[i].method2();System.out.println();}}}解:fluteShoe 1flute 2fluteblue 1flute 2moomoo 1moo 2mooblue 1moo 2四.设计(共4题,第1题7分,第2题3分,第3题5分,第4题16分,共31分) 1.假设我们已经在主类的main( )方法中声明了一个整型数组javaScores,用于存储某班同学的Java考试成绩。