《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 关键字来定义类,用 关键字来分配实例存储空间。 8. 当一个类的修饰符为 private 时,说明该类不能被继承,即不能有子类。 9. 在Java中,能实现多重继承效果的方式是 。

二、选择题

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

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

2. 方法的形参( D)。

A.可以没有

C.必须定义多个形参

B.至少有一个 D.只能是简单变量

3. return语句(D)。

A.不能用来返回对象 C.方法都必须含有

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

B.只可以返回数值 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

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

B.abstract private move(){…} D.abstract final class H1{…} B.封装 D.静态

A.public static x(double a){…} C.void x(double d){…}

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

A.类定义时

C.调用对象方法时

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

A.public abstract class Car{…} C.protected private number; A.抽象 C.继承

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)

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

private int m;

public static void fun(){ //some code }

}

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

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

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.当编译时有错误出现 A.extends C.this

16. 声明为static的方法不能访问( )类成员。

B.输出0

D.当运行时有错误出现 B.final D.finalize B.子类

D.用户自定义类

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

A.超类 C.非static

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4