填空题
1)数组的元素通过 下标 来访问,数组Array的长度为 。
2)数组复制时,“=”将一个数组的 引用 传递给另一个数组。
3)没有显式引用变量的数组称为 匿名 数组。
4)JVM将数组存储在 堆 (堆或栈)中。
5)数组的二分查法运用的前提条件是数组已经 排序 。
6)矩阵或表格一般用 二 维数组表示。
7)如果把二维数组看成一维数组,那么数组的元素是 一维 数组。
8)Java中数组的下标的数据类型是 整型 。
9)不用下标变量就可以访问数组的方法是 foreach循环 。
10)数组最小的下标是0.。
11)array copy()的最后一个参数指明复制元素的个数。
12)向方法传递数组参数时,传递的是数组的引用。
13)线性查法的平均查长度为n*(n-1)/2。
14)数组初始化包括数组声明、创建和初始化。
15)数组下标访问超出索引范围时抛出arrayIndexOutOfBoundsException异常
16)浮点型数组的默认值是。
17)对象型数组的默认值是null。
18)对象类型的数组虽然被默认初始化,但是并没有调用其构造函数。
19)二维数组的行的长度可以不同。
20)数组创建后其大小不能改变。
选择题
1.下面错误的初始化语句是_D__
A) char str[]="hello";
B) char str[100]="hello";
C) char str[]={'h','e','l','l','o'};
D) char str[]={'hello'};
A) char str[]="hello";
B) char str[100]="hello";
C) char str[]={'h','e','l','l','o'};
D) char str[]={'hello'};
2. 定义了一维int型数组a[10]后,下面错误的引用是_B___
A) a[0]=1;
B) a[10]=2;
C) a[0]=5*2;
D) a[1]=a[2]*a[0];
A) a[0]=1;
B) a[10]=2;
C) a[0]=5*2;
D) a[1]=a[2]*a[0];
3. 下面的二维数组初始化语句中,错误的是__B___
A) float b[2][2]={0.1,0.2,0.3,0.4};
B) int a[][2]={{1,2},{3,4}};
C) int a[2][]= {{1,2},{3,4}};
D) float a[2][2]={0};
A) float b[2][2]={0.1,0.2,0.3,0.4};
B) int a[][2]={{1,2},{3,4}};
C) int a[2][]= {{1,2},{3,4}};
D) float a[2][2]={0};
4. 引用数组元素时,数组下标可以是__D___
A) 整型常量 B) 整型变量 C) 整型表达式 D) 以上均可
A) 整型常量 B) 整型变量 C) 整型表达式 D) 以上均可
5. 定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B___
A) 24 B) 25 C) 18 D) 17
A) 24 B) 25 C) 18 D) 17
6. 下列初始化字符数组的语句中,错误的是__C_java数组字符串转数组__
A) char str[5]="hello";
B) char str[]={'h','e','l','l','o','\0'};
C) char str[5]={"hi"};
D) char str[100]="";
A) char str[5]="hello";
B) char str[]={'h','e','l','l','o','\0'};
C) char str[5]={"hi"};
D) char str[100]="";
7. 数组在Java中储存在C中
A) 栈 B) 队列 C) 堆 D) 链表
A) 栈 B) 队列 C) 堆 D) 链表
8. 下面程序的运行结果是__C___
main()
main()
{
int x=30;
int x=30;
Int[] numbers=new int[x];
X=60;
rintln(numbers.length);
}
}
A) 60 B) 20 C) 30 D) 50
9、下面 不是创建数组的正确语句C
A)float f[][]=new float[6][6]; B)float f[]=new float[6];
C)float f[][]=new float[][6]; D)float [][]f=new float[6][];
A)float f[][]=new float[6][6]; B)float f[]=new float[6];
C)float f[][]=new float[][6]; D)float [][]f=new float[6][];
10.下面不是数组复制方法的是(C)
A 用循环语句逐个复制数组 B 用方法arraycopy
C用“=”进行复制 D 用clone方法
11.数组a的第三个元素表示D
A a(3) B a[3]
Ca(2) D a[2]
12. 当访问无效的数组下标时,会发生B
A中止程序 B 抛出异常
C系统崩溃 D 直接跳过
13.使用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)
14. 关于数组默认值,错误的是B
Achar--'"u0000' B Boolean--true
Cfloat- D int-- 0
15. 关于数组作为方法的参数时,向方法传递的是A
A数组的引用 B 数组的栈地址
C数组自身 D 数组的元素
16. 关于数组复制,下列说法错误的是C
A“=”可以实现数组复制
B运用循环语句进行数组复制必须两个数组长度相同
C arraycopy()方法没有给目标数组分配内存空间
D 数组复制是数组引用的传递
17. 下列语句会造成数组new int[10]越界是D
A a[0]+=9; B a[9]=10;
C—a[9] D for(int i=0;i<=10;i++) a[i]++;
18. main方法是java Application 程序执行的入口点。关于main方法放入方法以下合法的是B
A public static void main();
B public static void main(String[]args)
C public static int main(String[] arg)
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[])
19. 如定义对象 StringBuffer ch = new StringBuffer(“Shanghai”) 则ch.length()=( B )
A.7 B.8 C.9 D.23
A.7 B.8 C.9 D.23
20. 执行完代码“int[]x=new int[25];”后以下(A)说明正确的
A.x[24]为0 Bx[24]未定义 C x[25]为0 D。x[0]为空
A.x[24]为0 Bx[24]未定义 C x[25]为0 D。x[0]为空
21. 关于char类型的数组,说法正确的是B
A其数组的默认值是’A’ B 可以仅通过数组名来访问数组
C数组不能转换为字符串 D 可以存储整型数值
22. 对于数组a[10],下列表示错误的是B
A a[0] B a(0)
Ca[9] D a[1]
23. 下列数组声明,下列表示错误的是D
A int[] a B int a[]
Cint[][] a Dint[]a[]
是非题
1.下标用于指出数组中某个元素位置的数字。( F )
2.把数组中元素按某种顺序排列的过程叫做查。( T )
3.确定数组中是否含有某个关键字的过程叫做排序。( F )
4.一个数组可以存放许多不同类型的数值。( F )
5.数组的下标通常是float型。( F )
6.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。( F )
7.数组可以声明为任何数据类型。( T )
8.数组由具有一名字和相同类型的一组连续内存单元构成。( T )
9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。( F )
10.将一个数组传递给一个方法,必须加在数组名后加方括号。( F )
11.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。( T )
12.下面这条语句正确吗?( F )
double[] myList;
myList = {1.9, 2.9, 3.5, 4.6};
13. Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。( T )
14. 数组中有length()这个方法,如array.length()表示数组array中元素的个数( F )
15.下面这条语句正确吗?( F )
int t[3][2] = {{1,2},{3,4},{5,6}};
16.数组声明后其大小固定。( F )
17.设有整型数组的定义:int a[]=new int[8]; ,则a.length的值为7。(F)
18. 数组一旦创建,其大小不能再改变。( T )
19.用任何方式创建数组时,都必须指定数组的长度。( F )
20.声明数组时,要指定数组长度,以便为数组分配内存。( F )
简答题
1. 如何声明和创建一个一维数组?
答:声明数组:数据类型 [] 数组名 或 数据类型 数组名[]
创建数组:数据类型 [] 数组名 = new数据类型 [数组长度]
2. 如何访问数组的元素?
答:数组的元素通过下标来访问,数组的下标是基于0的,它们从0开始到arrayObject.lenth-1结束。
3.数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?
答:数组下标的类型是整型,最小的下标是0,数组a的第三个元素表示为a[2]。
4.数组越界访问会发生什么错误?怎样避免该错误?
答:越界访问数组会发生编译错误,它引出一个运行错误ArrayIndexOutOfBoundsException。为避免错误的发生,在使用时应确保下标不超过数组长度减1.
5.给方法传递数组参数与传递基本数据类型变量的值有何不同?
答:对于基本数据类型参数,传递的是实参的值;
对于数组类型的参数,参数值是数组的引用,给方法传递的是这个引用。
6.复制数组有哪些方法?
答:复制数组有3种方法:
(1)用循环语句分别复制数组的每一个元素;
(2)使用System类中的静态方法arraycopy;
(3)使用clone方法复制数组。
7.数组创建后,其元素被赋予的默认值有哪些?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论