Java数组练习题(带答案)

.

一 填空题

1) 数组的元素通过 下标 来访问,数组Array的长度为 Array.length 。 2) 数组复制时,\将一个数组的 引用 传递给另一个数组。 3) JVM将数组存储在 栈 (堆或栈)中。

4) 数组的二分查找法运用的前提条件是数组已经 排序 。 5) Java中数组的下标的数据类型是 整型 。 6) 数组最小的下标是 0 。

7) arraycopy()的最后一个参数指明 复制元素的个数 。 8) 向方法传递数组参数时,传递的是数组的 引用 。 9) 数组初始化包括 数组的申明,创建和初始化 。

10) 数组下标访问超出索引范围时抛出 数组越界 异常 11) 浮点型数组的默认值是 0.0f 。 12) 数组创建后其大小 不能 改变。 二 选择题

1. 下面错误的初始化语句是_ABD__

A. char str[]=\

B. char str[100]=\

D. char str[]={'hello'};

D. a[1]=a[2]*a[0];

C. char str[]={'h','e','l','l','o'}; A. a[0]=1;

B. a[10]=2;

2. 定义了一维int型数组a[10]后,下面错误的引用是_B__

C. a[0]=5*2;

3. 下面的二维数组初始化语句中,正确的是____

A. float b[2][2]={0.1,0.2,0.3,0.4}; C. int a[2][]= {{1,2},{3,4}}; A. 整型常量 A. 24

B. 整型变量 B. 25

4. 引用数组元素时,数组下标可以是_D___

C. 整型表达式 D. 以上均可

D. 17

5. 定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____

C. 18

6. 下列初始化字符数组的语句中,正确的是__B__

A. char str[5]=\ C. char str[5]={\ 7. 数组在Java中储存在 C 中

A. 栈

B. 队列

C. 堆 D. 链表

8. 下面程序的运行结果是____ main() {

int a[][]={{1,2,3},{4,5,6}};

System.out.printf(\

}

A. 3 B. 4 C. 5 D. 6 9. 下面程序的运行结果是_C___

main() {

.

B. int a[][]={{1,2},{3,4}};

D. float a[2][2]={0};

B. char str[]={'h','e','l','l','o','\\0'};

D. char str[100]=\

.

int x=30;

int[] numbers=new int[x]; x=60;

System.out.println(numbers.length); }

A. 60 B. 20 C. 30 D. 50 10. 下面程序的运行结果是__BDF__

main() {

char s1[]=\int i=0;

while(s1[i++]!='\\0')

System.out.println(s1[i++]); }

A. ABCDEF B. BDF C. ABCDE D. BCDE 11. 下面 不是创建数组的正确语句C

A.float f[][]=new float[6][6]; C.float f[][]=new float[][6]; 12. 下面不是数组复制方法的是(C) A. 用循环语句逐个复制数组 C. 用\进行复制 13. 数组a的第三个元素表示为D A. a(3)

B. a[3]

C.a(2) D. a[2]

14. 当访问无效的数组下标时,会发生B

A. 中止程序 B. 抛出异常 C. 系统崩溃 D. 直接跳过 15. 使用arraycopy()方法将数组a复制到b正确的是A

A. arraycopy(a,0,b,0,a.length) B. arraycopy(a,0,b,0,b.length) C.. arraycopy(b,0,a,0,a.length) D. arraycopy(a,1,b,1,a.length) 16. 关于数组默认值,错误的是 B

A. char--'\17. 关于数组作为方法的参数时,向方法传递的是 A

A. 数组的引用 B. 数组的栈地址 C. 数组自身 D. 数组的元素 18. 关于数组复制,下列说法错误的是AC A. \可以实现数组复制

B. 运用循环语句进行数组复制必须两个数组长度相同 C. arraycopy()方法没有给目标数组分配内存空间 D. 数组复制是数组引用的传递

19. 下列语句会造成数组new int[10]越界是D A. a[0] += 9; B. a[9]=10;

C. —a[9] D. for(int i=0;i<=10;i++) B. 用方法arraycopy D. 用clone方法

B.float f[]=new float[6];

D.float [][]f=new float[6][];

.

.

a[i]++;

20. 在JDK环境下编译JAVA源程序使用的命令是(B )

A.java

B.javac C.jvm

D.tomcat

D. 子类不能使用父类的构造方法

21. main方法是java Application 程序执行的入口点。关于main方法放入方法以下合法

的是( )

A. public static void main();

B. public static void main(String[]args)

C. public static int main(String[] arg) D. public void main(String arg[]) 22. 执行完代码\ int[25];\后以下( A )说明正确的

A. x[24]为0

B. x[24]未定义

C. x[25]为0 D. x[0]为空

23. 关于数组排序方法,错误的是 C A. 选择排序 B. 插入排序 排序

24. 关于char类型的数组,说法正确的是 D A. 其数组的默认值是'A' 25. 对于数组a[10],下列表示错误的是B A. a[0] B. a(0) 26. 下列数组声明,下列表示错误的是 A. int[] a B. int a[] 三、是非题

1.下标用于指出数组中某个元素位置的数字。( ) 2.把数组中元素按某种顺序排列的过程叫做查找。( ) 3.确定数组中是否含有某个关键字的过程叫做排序。( ) 4.一个数组可以存放许多不同类型的数值。( ) 5.数组的下标通常是float型。( )

6.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。( )

7.数组可以声明为任何数据类型。( )

8.数组由具有一名字和相同类型的一组连续内存单元构成。( )

9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。( )

10.将一个数组传递给一个方法,必须加在数组名后加方括号。( )

11.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。( ) 12.下面这条语句正确吗?( ) double[] myList;

myList = {1.9, 2.9, 3.5, 4.6};

C. int[][] a D. int[]a[]

C. a[9] D. a[1] B. 可以仅通过数组名来访问数组

C. 数组不能转换为字符串 D. 可以存储整型数值

C. 二分排序 D. 用arrays.sort( )

.

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