华南农业大学期末考试试卷(A卷)
2012-2013学年第 1 学期 考试科目: Java程序设计
考试类型:(闭卷) 考试 考试时间:java重载 120 分钟
一、单项选择题(本大题共 18 小题,每小题 2 分,共 36 分)
1.下列关于Java语言的说法,不正确的是__B______:
A. Java是面向对象的高级语言
A. Java是面向对象的高级语言
B. Java是解释型语言,所以执行速度快
C. 一个类被编译成一个.class字节码文件
D. Java程序可以做到“一次编写,随处运行”
2.下列符合Java程序元素命名习惯的是___D_____。
A. double Radius B. int lengthofarray C. class shape D. final double PI
A. double Radius B. int lengthofarray C. class shape D. final double PI
3.下列不满足自动类型转换的赋值语句是__C______。
A.int c = ‘A’; B. long d = 165;
C.float b = 26.3; D. double a = 13;
4.语句int a = 10, b = 20; b += a++; 执行结束后,a和 b的值分别是__B______。
A. 10,30 B. 11,30 C. 10,31 D. 11,31
5.下列程序段的输出结果是__D______。
int m = 4, n = 9;
System.out.println(“m + n = ” + m + n);
A. m + n = 13 B. m + n = mn C. m + n = m + n D. m + n = 49;
6.下列关于for和while这两种循环语句的说法,正确的是__C______
A.二者都是后置检查循环条件 B.循环次数不确定使用for语句比较好
A.二者都是后置检查循环条件 B.循环次数不确定使用for语句比较好
C.循环条件是布尔型表达式 D.它们之间不能互相嵌套使用
7.下列程序片段执行后,y的值为__D______
int x = 4, y = 3; switch(x + 3){case 7: y = 7; case 8: y =8; default: y++;}
A. 4 B. 7 C. 8 D. 9
8.定义二维数组a,不正确的是__A______
A. double a [3][3]; B. double a[][]; C. double[] a[]; D. double[][] a;
9.设int[][] b = {{26,53},{24,18,33},{29,81,51},{27,44,92,13}},则___A_____
A. 数组一共有12个元素 B. b[2].length为4 C. b.length为12 D. b[3][2]等于81
10.下面一段代码的输出结果是__B______
class Test{
public static void main(String [] args){
int[] a={36,31,0,11,8,13,24,49,33,16}; swap(a,4,8);System.out.println(a[4]);}
public static void swap(int[] a, int i, int j){int t = a[i]; a[i] = a[j]; a[j] = t;}
}
A. 8 B. 33 C. 11 D. 49
11.关于字符串,下列语句不正确的是__C______
A. String s = new String(”Olympic game”);
B. “Welcome to Guangzhou”.indexOf(‘o’);
C. String s = “Great Wall”; s.delete(2,5);
D. StringBuffer buffer = new StringBuffer(); buffer.append(“China”);
12.关于类和对象,下列说法不正确的是__D______。
A. 类是对象的模板,对象是类的实例
A. 类是对象的模板,对象是类的实例
B. 面向对象有四个基本特征:抽象、封装、继承和多态
C. 对象的引用变量只是存放了对象的地址
D. 静态成员方法可以调用实例成员方法
13.关于类和成员的访问权限,下列说法正确的是__C______
A. 类A能继承类B的前提是A和B必须在同一个包中
A. 类A能继承类B的前提是A和B必须在同一个包中
B. 子类不能继承位于不同包中的父类的protected成员
C. 子类不能继承位于同一包中的父类的private成员
D. 子类可以继承位于不同包中的父类的无修饰成员
14.下列关于继承的哪项叙述是正确___B_____
A. 在java中允许多继承 B. java的单一继承使代码更可靠
C. 在java中一个类不能同时继承一个类和实现一个接口
D. 在java中一个类只能实现一个接口
A. 在java中允许多继承 B. java的单一继承使代码更可靠
C. 在java中一个类不能同时继承一个类和实现一个接口
D. 在java中一个类只能实现一个接口
15.下列关于父类和子类构造方法,不正确的是__C______
A. 子类不能继承父类的构造方法
B. 子类构造方法可以调用父类构造方法
C. 子类构造方法的第一条语句必须通过super显式调用父类构造方法
D. 子类构造方法的第一条语句也可以通过this调用本类的重载构造方法
16.下列关于方法重载和覆盖的描述,不正确的是__A______
A. 可通过返回值类型来区分是否为重载方法
A. 可通过返回值类型来区分是否为重载方法
B. 方法重载可减少记忆方法名称的难度,使程序清晰易读
C. 方法覆盖只能在有继承关系的父子类间
D. 方法覆盖必须保持父类方法的返回值、方法名和形参均不变
17.下列不是实现多态必须条件的是__B______
A. 继承 B. 方法重载 C. 方法覆盖 D. 父类引用变量可引用子类对象
18.Object是Java中所有类的祖先类,其中用来比较两个对象内容是否相等的方法是__A__
A. equals B.clone C. compare D. toString
A. equals B.clone C. compare D. toString
二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)
19.( B )把java源文件编译成class字节码文件的JDK命令是java。
20.( A )Java程序中可包含多个源文件,但每个源文件中只有一个public类。
21.( A )包含main方法的类叫主类,没有主类程序就无法运行。
22.( B )不带标号的continue语句可实现跳出所在的那层循环。
23.( A )方法调用表达式方式适合于有返回值的方法的调用,在调用时实参与形参在
次序、类型和数量上要匹配。
24.( B )方法覆盖和方法重载都是要求方法同名,因此没有本质区别。
25.( A )静态成员方法与对象无关,所以不会访问实例数据域。
26.( B )访问权限最大的是public成员,最小的是protected成员。
27.( A )this是当前对象的引用,大多数情况下可隐去,但有时需要显式使用。
28.( B )抽象类不能定义对象引用变量,也不能创建对象。
29.( B )抽象类的子类一定是具体类,但实现接口的类不一定是具体类。
30.( A )包可以解决命名冲突,不同包中可以包含同名的类。
31.( B )在Java源文件中,把自己的类装入某个包中所使用的关键字是import,把库中
的类导入到源文件的关键字是package。
32.( A )this可用来调用本类的重载方法,super可用来调用父类的覆盖方法。
三、程序阅读题(本大题共4小题,每小题5分,共20分)
说明:阅读下面的程序,并写出程序的运行结果。
1. public class Test{
public static void main(String [] args){
int[] a = {36,21,50,78,19,89,74,33,46,68};
int m = a[0], n = 0;
for(int i=1;i<10;i++)
if (m < a[i]){m = a[i]; n = i;}
System.out.printf (“m = %d,n = %d\n”, m, n);
}
}
解答:
m = 89, n = 5
2. public class Stat{
public static void main(String args[ ]){
int n=0;
public static void main(String args[ ]){
int n=0;
String s=”The 30th Olympic games is held in London last summer.”;
for (int i=0;i<s.length();i++)
if (s.charAt(i)==’m’)
n++;
System.out.println(n);
}
}
}
}
解答:
4
3. class Person{
public Person() {System.out.println(“Person()”); }
}
class Teacher extends Person{
public Teacher(){this(“Teacher(String)”); System.out.println(“Teacher()”);}
public Teacher(String s){System.out.println(s);}
}
public class Faculty extends Teacher{
public Faculty(){System.out.println("Faculty()");}
public static void main(String[] args) {Faculty fa = new Faculty();}
}
解答:
Person()
Teacher(String)
Teacher();
Faculty()
4.
public abstract class Animal {
public abstract void sound();
}
class Dog extends Animal{
public void sound(){System.out.println(“Woof woof”);}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论