一、单项选择题(本大题共 25 小题,每小题 2 分,共 50 分)
1. 下列有关Java程序的说法中正确的是___D_____:
A. 由于Java程序是解释执行的,所以执行前不需要进行编译
B. 一个.java源程序编译后将产生一个.class的字节码文件
C. 安装了JDK后,安装程序会自动配置系统的环境变量path和classpath D. 面向对象的解释型高级编程语言 2. 下列为合法变量名的是__C______。
A. false
B. 0xabc C. iStudent
D. cow’s
3. 对于构造方法,下列叙述不正确的是__C______。
A. 构造方法是类的一种特殊函数,它的方法名必须与类名相同 B. 构造方法没有返回值类型
C. 子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
D. 子类在创建构造方法是必须把调用父类构造方法放在第一条语句
4. 下列关于接口的说明正确的是__D______。
A. 接口和抽象类是同一回事
B. 一个类不可以实现多个接口
C. 接口间不能有继承关系
D. 实现一个接口必须实现接口的所有方法5. Java为移动设备提供的平台是__A______。
A.J2ME B.J2SE C.J2EE D.JDK5.0 6. 下列语句中,属于多分支语句的是__B______。
A.if语句 B.switch语句 C.do while语句 D.for语句 7. 在Java中,存放字符串常量的对象属于_B_______类对象。
A. Character
B. String
C. StringBuffer
D. Char
8. 下列关于继承的哪项叙述是正确__D______。
A. 在java中允许多继承 B. 在java中一个类只能实现一个接口 C. 在java中一个类不能同时继承一个类和实现一个接口 D. java的单一继承使代码更可靠 9. 给出如下代码:
class Test{
private int m;
public static void fun() { // some code... } }
如何使成员变量m 被函数fun()直接访问? C
A. 将private int m 改为protected int m B. 将private int m 改为 public int m C. 将private int m 改为 static int m D. 将private int m 改为 int m 10. System和Math类在哪个包中_B_______。
1
A. java.io B. java.lang C. java.awt D. java.util 11. 能从循环语句的循环体中跳出的语句是__B______。
A. for 语句 B. break 语句 C. while 语句 D. continue语句
12. 若类中某方法进行重载,能够区分这重载方法的手段是 _C_______。
A. 它们的返回值类型的不同 B. 它们的名称的不同 C. 它们的参数表的不同 D. 它们的修饰符不同 13. 下列关于接口的说法哪个是正确________。
A. 接口和抽象类是同一回事; B. 一个类不可以实现多个接口;
C. 接口间不能有继承关系; D. 实现一个接口必须实现接口的所有方法。 14. 下列关于main()方法说法正确的是___A_____。
A. public修饰类中可以没有main()方法; B. main()方法中主要完成所有对象的创建; C. public修饰的类有多个时,main()方法就有多个; D. main()方法头的定义可以根据情况随意修改。 15. 以下数据类型定义正确的是__B______。
A.boolean b = 0; B. char s = ‘\’; C.byte b = -268; D. float f = 2.5e3.
16. 在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10}; 为了打印输出数组a的最
后一个元素,下面正确的代码是__B______。 A. System.out.println(a[10]);
B. System.out.println(a[9]); D. System.out.println(a(9));
C. System.out.println(a[a.length]);
17. 定义二维数组a,不正确的是__D______。
A. int[][] a;
B. int a[][];
C. int[] a[];
D. int[3][3] a;
18. 下列关于抽象类的说法哪个正确__A______。
A. 绝对不能用抽象类去创建对象;
B. 某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法; C. 抽象类中不可以有常量; D. 可以用private修饰抽象类。
19. 下列关于方法覆盖不正确的是__D______。
A. 方法覆盖和方法重载都是定义相同方法名的方法,本质上是一致的; B. 方法覆盖只能发生在子类对父类的继承中; C. 方法覆盖充分体现了Java语言的多态性; D. 方法返回值类型不同时也能实现方法覆盖。 20. 关于Java的包叙述不正确的是__A______。
A. 不同包中的类不允许有相同的名称 B. 同一包中的类不允许有相同的名称
2
装订线 1.5CM
C. 包是用于组织类与接口的机制
D. 可以通过import语句将包中的类加载到程序中
21. Java中所有类的父类是__B______。
A. Father;
B.Object;
C. Lang;
D. ClassFather;
22. 下列程序段的输出结果是__D______。
int data = 0; char k = ‘a’, p = ‘f’; data = p – k;
System.out.println(data);
A. 0; B. a; C. f; D. 5;
23. 在使用interface声明一个接口时,只可以使用___D_____修饰符修饰该接口。
A. private
B. protected C. private protected
D. public
24. 下面___A_____方法是public void example(){...}的重载方法?
A. public void example(){...} B. public int example(){...}
C. public void example2(){...} D. public int example(int m, float f){...} 25. 下列叙述中,正确的是___A_____。
A. Java语言的标识符是区分大小写的 B. 源文件名与public类名可以不相同C. 源文件名其扩展名为.jar D. 源文件中public类的数目不限
得分
二、程序阅读题(本大题共4小题,每小题5分,共20分) 说明:阅读下面的程序,并写出程序的运行结果。
1. public class StringTest{
public static void main(String [] args){ String s = new String (\"Hello\"); modify(s);
System.out.println(s); }
public static void modify (String s){ s += \"world!\"; } }
3
Hello world!
2. import java.io.* ; public class ABC {
public static void main(String args[ ]) { int i ;
int a[] = { 11,22,33,44,55,66,77,88,99 }; for ( i = 0 ; i <= a.length / 2 ; i ++ )
System.out.print( a[i] +a[a.length-i-1]+\" \"); System.out.println(); } }
1199 2288 3377 4466 3. class Person{
public Person() { System.out.println(“Person()”); } }
class Employee extends Person{ public Employee(){
this(“call Employee(String)”); System.out.println(“Employee()”); }
public Employee(String s) { System.out.println(s); } }
class Faculty extends Employee{
public Faculty(){ System.out.println(“Faculty()”); } } 4.
class ICCard extends Card{
public void show(){ System.out.println(“this is ICCard!”); public void show(s){ super.show(); this.show();
System.out.println(s); }
}
class Card {
public void show(){ System.out.println(“this is Card!”); } }
class Test {
public static void main(String[] args) { ICCard ic = new ICCard(); ic.show(“Test ICCard!”); }
4
1.5CM 装订线
}
得分
三、编写程序题(本大题共3小题,每小题10分,共30分)
1. 编写程序输入两个整数,并输出这两个数的所有公约数。(10分)
2. 编写程序读入10个单精度浮点型值,按照从小到大的顺序输出来。(10分)
3. 考虑二维坐标系的点,定义一个描述点的类,命名为Point。(10分)
具体要求如下:
(1)每个点由双精度类型的横坐标x和纵坐标y描述;要求对该类的数据域进行合理的封装。
(2)默认构造一个Point对象时,横、纵坐标均为0;也可以在构造一个Point对象时通过参数指定横、纵坐标。
(3)定义一个求两点间距离的方法,方法头为: public double distance(Point otherPoint) (4)设定对象的输出形式为:(x, y)。
5
因篇幅问题不能全部显示,请点此查看更多更全内容