Java数组测习题(带答案)

2020-04-16 10:31

精心整理

一填空题

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

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

7) arraycopy()的最后一个参数指明复制元素的个数。 8) 向方法传递数组参数时,传递的是数组的引用。 9) 数组初始化包括数组的申明,创建和初始化。 10) 数组下标访问超出索引范围时抛出数组越界异常 11) 浮点型数组的默认值是0.0f。 12) 数组创建后其大小不能改变。 二选择题 1. 下面错误的初始化语句是_ABD__ A.charstr[]=\ B.charstr[100]=\C.charstr[]={'h','e','l','l','o'}; D.charstr[]={'hello'}; 2. 定义了一维int型数组a[10]后,下面错误的引用是_B__ 3. A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0]; 4. 下面的二维数组初始化语句中,正确的是____ 5. A.floatb[2][2]={0.1,0.2,0.3,0.4}; B.inta[][]={{1,2},{3,4}}; 6. C.inta[2][]={{1,2},{3,4}}; D.floata[2][2]={0}; 7. 引用数组元素时,数组下标可以是_D___ 8. A.整型常量 B.整型变量 C.整型表达式 D.以上均可 9. 定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A.24 B.25 C.18 D.17 10. 下列初始化字符数组的语句中,正确的是__B__ 11. A.charstr[5]=\ B.charstr[]={'h','e','l','l','o','\\0'}; 12. C.charstr[5]={\ D.charstr[100]=\13. 数组在Java中储存在C中 14. A.栈 B.队列 C.堆 D.链表 15. 下面程序的运行结果是____ main(){ }

精心整理

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

精心整理

A.3B.4 C.5D.6 16. 下面程序的运行结果是_C___ 17. main(){

intx=30;

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

(numbers.length); }

A.60B.20 C.30D.50 18. 下面程序的运行结果是__BDF__ 19. main(){ 20. chars1[]=\21. inti=0; 22. while(s1[i++]!='\\0') S(s1[i++]); } A.ABCDEF B.BDF C.ABCDE D.BCDE 23. 下面?不是创建数组的正确语句C 24. A.float?f[][]=new?float[6][6];???? B.float?f[]=new?float[6]; 25. C.float?f[][]=new?float[][6];???? D.float?[][]f=new?float[6][]; 26. 下面不是数组复制方法的是(C) A.用循环语句逐个复制数组 B.用方法arraycopy C.用\进行复制 D.用clone方法 27. 数组a的第三个元素表示为D A.a(3) B.a[3] C.a(2) D.a[2] 28. 当访问无效的数组下标时,会发生B A.中止程序 B.抛出异常 C.系统崩溃 D.直接跳过 29. 使用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) 30. 关于数组默认值,错误的是B A.char--'\31. 关于数组作为方法的参数时,向方法传递的是A A.数组的引用B.数组的栈地址C.数组自身D.数组的元素 32. 关于数组复制,下列说法错误的是AC A.\可以实现数组复制

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

精心整理 33. 下列语句会造成数组newint[10]越界是D

A.a[0]+=9;B.a[9]=10; C.—a[9] D.for(inti=0;i<=10;i++)a[i]++; 34. 在JDK环境下编译JAVA源程序使用的命令是(B) A.java B.javac C.jvm D.tomcat D.子类不能使用父类的构造方法 35. 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[]) 36. 执行完代码\后以下(A)说明正确的 A.x[24]为0?? B.x[24]未定义 C.x[25]为0???? D.x[0]为空 37. 关于数组排序方法,错误的是C A.选择排序B.插入排序 C.二分排序 D.用arrays.sort()排序 38. 关于char类型的数组,说法正确的是D A.其数组的默认值是'A' B.可以仅通过数组名来访问数组 C.数组不能转换为字符串 D.可以存储整型数值 39. 对于数组a[10],下列表示错误的是B A.a[0]B.a(0) C.a[9]D.a[1] 40. 下列数组声明,下列表示错误的是 A.int[]aB.inta[] C.int[][]a D.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}; 精心整理

精心整理

14.数组中有length()这个方法,如array.length()表示数组array中元素的个数() 15.下面这条语句正确吗?() intt[3][2]={{1,2},{3,4},{5,6}}; 16.数组声明后其大小固定。()

17.设有整型数组的定义:intA.[]=newint[8];,则a.length的值为7。() 18.数组一旦创建,其大小不能再改变。()

19.用任何方式创建数组时,都必须指定数组的长度。() 20.声明数组时,要指定数组长度,以便为数组分配内存。() 四、简答题

1.如何声明和创建一个一维数组? 2.如何访问数组的元素? 3.数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?

4.数组越界访问会发生什么错误?怎样避免该错误? 5.给方法传递数组参数与传递基本数据类型变量的值有何不同? 6.复制数组有哪些方法? 8.声明数组变量会为数组分配内存空间吗?为什么? 五、程序题 1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。 1) publicclassTest{ 2) publicstaticvoidmain(String[]args){ 3) inta[]={1,3,5,7,9,11,13,15,17,19}; 4) intt; 5) for(inti=0;i

2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。

1) 2) 3) 4) 5) 6) 7)

publicclassexercise16{

publicstaticvoidmain(String[]args){ StringnumberString=

JOptionPane.showInputDialog(\intnumberOfStudents=Integer.parseInt(numberString); String[]names=newString[numberOfStudents]; double[]scores=newdouble[numberOfStudents];

精心整理

精心整理

8) for(inti=0;i

9) names[i]=JOptionPane.showInputDialog(\10) scores[i]=Double.parseDouble(

11) JOptionPane.showInputDialog(\12) }

13) for(inti=scores.length-1;i>=1;i--){ 14) doublecurrentMax=scores[0]; 15) intcurrentMaxIndex=0; 16) for(intj=1;j<=i;j++){

17) if(currentMax

22) if(currentMaxIndex!=i){ 23) scores[currentMaxIndex]=scores[i]; 24) scores[i]=currentMax; 25) Stringtemp=names[currentMaxIndex]; 26) names[currentMaxIndex]=names[i]; 27) names[i]=temp; 28) } 29) }

30) for(inti=scores.length-1;i>=0;i--){ 31) } 32) } 33) }

3.编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出。 1) publicclassexercise5{ 2) privatestaticintj=0; 3) publicstaticvoidmain(String[]args){ 4) int[]arrayInt=newint[10]; 5) inti=0; 6) do{ 7) StringnumberString=JOptionPane 8) .showInputDialog(\9) intnumber=Integer.parseInt(numberString); 10) if(isNotHave(arrayInt,number)){ 11) arrayInt[i]=number; 12) i++; 13) j++; 14) } 15) else 16) { 17) do{

精心整理


Java数组测习题(带答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:可燃气体报警器联动风机论证

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: