《Java面向对象编程》练习题 下载本文

2.设有整型数组的定义:“int x[][]={{12,34},{-5},{3,2,6}};”则x.length的值为(9 ) 3.求取二维数组a[][]的第i行元素个数的表达式是( )。

4、一个一维数组有10个元素,则该数组可用的下标范围是 0-9 。 5、String S[]={“安徽”, “江苏”, “山东”};则S[1]的值是: 江苏 。

6、当声明一个数据组int arr[]=new int[5];时,这代表这个数组所保存的变量类型是 整形 ,数组元素下标的使用范围是 0-4 。

二.选择题

1.设有定义语句“int a[]={66,88,99};”,则以下对此语句的叙述错误的是( C) A.定义了一个名为a的一维数组 B.a数组有3个元素 C.a数组的元素的下标为1~3 D.数组中的每个元素是整数 2.设有定义“int[] a=new int[4];”则数组a的所有元素是(B ) A.a0、a1、a2、a3 B.a[0]、a[1]、a[2]、a[3] C.a[1]、a[2]、a[3]、a[4] D.a[0]、a[1]、a[2]、a[3]、a[4] 3.下面哪个选项正确地声明了一个字符串数组 (C )

A.char[] str B.char[][] str C.String[] str D.String[10] str 4、假设有这样的数组创建:int a[]={1,2,3,4,5,6,7};则该数组长度为 D 。 A.4 B.5

C.6

D.7

5、下列二维数组的创建中错误的是 A 。 A.int a[][]=new int[3][] ; B.int[][] a=new int[3][4] ; C.int a[][]={{1,2},{3,4}} ; D.int [][] a=new int[][];

三、编程题

1.编写一个程序,计算一维数组中的最大值、最小值及其差值。 2.将一个数组中的数逆序重新存放。

3.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的。 4.输出杨辉三角形。如:

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ??

5.求一个二维数组的每行最大数。

**专题5 面向对象 一、填空题

1. 如果一个方法不返回任何值,则该方法的返回值类型为 void 。

2. 如果子类中的某个方法名、返回值类型和_参数列表_______与父类中的某个方法

完全一致,则称子类中的这个方法覆盖了父类的同名方法。 3. 接口中所有的属性均为_抽象__、__静态_____和_常量_____的

4. 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方

法必须在 抽象 类之中定义。

5. 在Java程序中,通过类的定义只能实现 单 重继承,但通过 接口 的定义可以实现多重继承关系。

6. 一般Java程序的类主体由两部分组成:一部分是 成员变量 ,另一部分是

成员方法 。还有构造方法

7. 分别用 class 关键字来定义类,用 new 关键字来分配实例存储空间。 8. 当一个类的修饰符为 final 时,说明该类不能被继承,即不能有子类。//最终

9. 在Java中,能实现多重继承效果的方式是 接口与接口之间 。

二、选择题

1. 方法内定义的变量( )。

A.一定在方法内所有位置可见 B.可能在方法的局部位置可见 C.在方法外可以使用 D.在方法外可见

2. 方法的形参( D)。

A.可以没有

C.必须定义多个形参

3. return语句(D)。

B.至少有一个

D.只能是简单变量//也可以是对象

A.不能用来返回对象 //可以返回一个对象 B.只可以返回数值 C.方法都必须含有

4. main()方法的返回值类型是(C。

D.一个方法中可以有多个 B.int D.static

A.boolean C.void

5. 编译并运行下面的程序,运行结果是( )。

public class A{

public static void main(String args[]){ A a=new A(); a.method(8); }

void method(int i){

System.out.println(“int: ”+i); }

void method(long i){

System.out.println(“long: ”+i); }

A.程序可以编译运行,输出结果为:“int: 8” B.程序可以编译运行,输出结果为:“long: 8”

C.程序有编译错误,因为两个method()方法必须定义为静态(static)的 //创建对象就可以调用方法了

D.程序可以编译运行,但是没有输出

6. 能作为类及其成员的修饰符是( )。

A.interface C.protected

7. 下列方法定义中,方法头不正确的是( )。

B.class D.public

A.public static x(double a){…} //没有返回值 B.public static int x(double y){…} C.void x(double d){…}

8. 构造方法在( )时被调用。

D.public int x(){…} B.使用对象的变量时 D.创建对象时

B.abstract private move(){…}//私有了别

A.类定义时

C.调用对象方法时

9. 下列哪个类声明是正确的( )。

A.public abstract class Car{…}

人就不能继承了,就没意义了 C.protected private number; A.抽象 C.继承

D.abstract final class H1{…} B.封装 D.静态

10. 下列不属于面向对象程序设计的基本特征的是( )。

11. 请看下面的程序段 class Person{

String name,department; int age;

public Person(String n){name=n;}

public Person(String n,int a){name=n; age=a;} public Person(String n, String d, int a ){

//doing the same as two arguments version if constructer }

下面那个选项可以添加到// doing the same??处( )

A.Person(n,a) C.this(n,a)

B.this(Person(n,a)) D.this(name.age)

12. 请看下面的程序段 class Test{

private int m;

public static void fun(){//静态的,记住,只能调用静态的东西 //some code } }

方法fun()如何来访问变量m( )

A.将private int m 改成protected int m B.将private int m 改成public int m C.将private int m 改成static int m A.void A(int x){?} C.A A(int x){?}

14. 请看下面的程序段 public class Test{

long a[]=new long[10];//不是静态的,不能调用 pubic static void main(String args[]){

System.out.println(a[6]); } }

哪一个选项是正确的( )。

D.将private int m 改成int m B.public A(int x){?} D.int A(int x){?}

13. 有一个类A,对于其构造函数的声明正确的是( )。

A.不输出任何内容

C.当编译时有错误出现

B.输出0

D.当运行时有错误出现

15. 关键字( )表明一个对象或变量在初始化后不能修改。