Java数组练习题.docx

上传人:b****6 文档编号:7107626 上传时间:2023-01-18 格式:DOCX 页数:13 大小:21.24KB
下载 相关 举报
Java数组练习题.docx_第1页
第1页 / 共13页
Java数组练习题.docx_第2页
第2页 / 共13页
Java数组练习题.docx_第3页
第3页 / 共13页
Java数组练习题.docx_第4页
第4页 / 共13页
Java数组练习题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Java数组练习题.docx

《Java数组练习题.docx》由会员分享,可在线阅读,更多相关《Java数组练习题.docx(13页珍藏版)》请在冰豆网上搜索。

Java数组练习题.docx

Java数组练习题数组练习题一填空题1)数组的元素通过下标来访问,数组Array的长度为。

2)数组复制时,=将一个数组的引用传递给另一个数组。

3)JVM将数组存储在栈(堆或栈)中。

4)数组的二分查找法运用的前提条件是数组已经排序。

5)Java中数组的下标的数据类型是整型。

6)数组最小的下标是0。

7)arraycopy()的最后一个参数指明复制元素的个数。

8)向方法传递数组参数时,传递的是数组的引用。

9)数组初始化包括数组的申明,创建和初始化。

10)数组下标访问超出索引范围时抛出数组越界异常11)浮点型数组的默认值是。

12)数组创建后其大小不能改变。

二选择题1.下面错误的初始化语句是_ABD_A.charstr=hello;B.charstr100=hello;C.charstr=h,e,l,l,o;D.charstr=hello;2.定义了一维int型数组a10后,下面错误的引用是_B_A.a0=1;B.a10=2;C.a0=5*2;D.a1=a2*a0;3.下面的二维数组初始化语句中,正确的是_A.floatb22=,;B.inta=1,2,3,4;C.inta2=1,2,3,4;D.floata22=0;4.引用数组元素时,数组下标可以是_D_A.整型常量B.整型变量C.整型表达式D.以上均可5.定义了int型二维数组a67后,数组元素a34前的数组元素个数为_A.24B.25C.18D.176.下列初始化字符数组的语句中,正确的是_B_A.charstr5=hello;B.charstr=h,e,l,l,o,0;C.charstr5=hi;D.charstr100=;7.数组在Java中储存在C中A.栈B.队列C.堆D.链表8.下面程序的运行结果是_main()inta=1,2,3,4,5,6;%d,a11);A.3B.4C.5D.69.下面程序的运行结果是_C_main()intx=30;intnumbers=newintx;x=60;A.60B.20C.30D.5010.下面程序的运行结果是_BDF_main()chars1=ABCDEF.toCharArray();inti=0;while(s1i+!

=0)A.ABCDEFB.BDFC.ABCDED.BCDE11.下面?

不是创建数组的正确语句Cf=newfloat66;?

f=newfloat6;f=newfloat6;f=newfloat6;12.下面不是数组复制方法的是(C)A.用循环语句逐个复制数组B.用方法arraycopyC.用=进行复制D.用clone方法13.数组a的第三个元素表示为DA.a(3)B.a3

(2)D.a214.当访问无效的数组下标时,会发生BA.中止程序B.抛出异常C.系统崩溃D.直接跳过15.使用arraycopy()方法将数组a复制到b正确的是AA.arraycopy(a,0,b,0,B.arraycopy(a,0,b,0,C.arraycopy(b,0,a,0,D.arraycopy(a,1,b,1,16.关于数组默认值,错误的是BA.char-u0000B.Boolean-trueC.float-0.0fD.int-017.关于数组作为方法的参数时,向方法传递的是AA.数组的引用B.数组的栈地址C.数组自身D.数组的元素18.关于数组复制,下列说法错误的是ACA.=可以实现数组复制B.运用循环语句进行数组复制必须两个数组长度相同C.arraycopy()方法没有给目标数组分配内存空间D.数组复制是数组引用的传递19.下列语句会造成数组newint10越界是DA.a0+=9;B.a9=10;C.a9D.for(inti=0;i=10;i+)ai+;20.在JDK环境下编译JAVA源程序使用的命令是(B)D.子类不能使用父类的构造方法21.main方法是javaApplication程序执行的入口点。

关于main方法放入方法以下合法的是()A.publicstaticvoidmain();B.publicstaticvoidmain(Stringargs)C.publicstaticintmain(Stringarg)D.publicvoidmain(Stringarg)22.执行完代码intx=newint25;后以下(A)说明正确的A.x24为0B.x24未定义C.x25为0D.x0为空23.关于数组排序方法,错误的是CA.选择排序B.插入排序C.二分排序D.用()排序24.关于char类型的数组,说法正确的是DA.其数组的默认值是AB.可以仅通过数组名来访问数组C.数组不能转换为字符串D.可以存储整型数值25.对于数组a10,下列表示错误的是BA.a0B.a(0)C.a9D.a126.下列数组声明,下列表示错误的是A.intaB.intaC.intaD.inta三、是非题1.下标用于指出数组中某个元素位置的数字。

()2.把数组中元素按某种顺序排列的过程叫做查找。

()3.确定数组中是否含有某个关键字的过程叫做排序。

()4.一个数组可以存放许多不同类型的数值。

()5.数组的下标通常是float型。

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

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

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

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

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

()语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

()12.下面这条语句正确吗?

()doublemyList;myList=,;14.数组中有length()这个方法,如()表示数组array中元素的个数()15.下面这条语句正确吗?

()intt32=1,2,3,4,5,6;16.数组声明后其大小固定。

()17.设有整型数组的定义:

intA.=newint8;,则的值为7。

()18.数组一旦创建,其大小不能再改变。

()19.用任何方式创建数组时,都必须指定数组的长度。

()20.声明数组时,要指定数组长度,以便为数组分配内存。

()四、简答题1.如何声明和创建一个一维数组?

2.如何访问数组的元素?

3.数组下标的类型是什么?

最小的下标是什么?

一维数组a的第三个元素如何表示?

4.数组越界访问会发生什么错误?

怎样避免该错误?

5.给方法传递数组参数与传递基本数据类型变量的值有何不同?

6.复制数组有哪些方法?

8.声明数组变量会为数组分配内存空间吗?

为什么?

五、程序题1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。

请将该序列倒序存放并输出。

1)publicclassTest2)publicstaticvoidmain(Stringargs)3)inta=1,3,5,7,9,11,13,15,17,19;4)intt;5)数组的初始状态为:

);6)for(inti=0;i;i+)7)+ai);8)9)for(inti=0;i2;i+)10)t=ai;11)ai=a;12)a=t;13)14)15)数组逆序存放后的状态为:

);16)for(inti=0;i;i+)17)+ai);18)19)2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。

1)publicclassexercise162)publicstaticvoidmain(Stringargs)3)StringnumberString=4)(Enterthenumberofstudents);5)intnumberOfStudents=(numberString);6)7)Stringnames=newStringnumberOfStudents;8)doublescores=newdoublenumberOfStudents;9)10)for(inti=0;i=1;i-)17)doublecurrentMax=scores0;18)intcurrentMaxIndex=0;19)20)for(intj=1;j=i;j+)21)if(currentMax=0;i-)37)+t+scoresi);38)39)40)3.编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出。

1)importclassexercise52)privatestaticintj=0;3)4)publicstaticvoidmain(Stringargs)5)intarrayInt=newint10;6)inti=0;7)8)do9)StringnumberString=JOptionPane10).showInputDialog(Enteranumber:

);11)12)intnumber=(numberString);13)14)if(isNotHave(arrayInt,number)15)arrayInti=number;16)i+;17)j+;18)19)else20)21)do22)numberString=JOptionPane23).showInputDialog(Thisnumberisexit,enteraanothernumber:

);24)number=(numberString);25)while(!

isNotHave(arrayInt,number);26)27)arrayInti=number;28)i+;29)j+;30)31)while(i;32)33)Stringoutput=;34)for(intk:

arrayInt)35)output+=k+;36)37)38)(null,TheelementsofarrayIntis39)+output,outputarrayInt,;40)41)42)publicstaticbooleanisNotHave(intarrayInt,intn)43)for(inti=0;ij;i+)44)if(arrayInti=n)45)returnfalse;46)47)returntrue;48)49)4.先对数组1,3,9,5,6,7,1,5,4,8进行排序,然后二分查找法找出数组中的元素8,标出其排序后其下标的位置。

1)publicclassTest2)publicstaticvoidmain(Stringargs)3)intnumbers=1,3,9,5,6,7,1,5,4,8;4)排序后的数组为:

);5)for(inti=0;ilow)mid=(mid=(low+high)/2)?

19)(mid+1):

(low+high)/2);20)if(key=0);13)14)doubleaverage=(sum-scorescount)/(count-1);15)16)intnumOfAbove=0;17)intnumOfBelow=0;18)for(inti=0;i=average)20)numOfAbove+;21)else22)numOfBelow+;23)24)Averageis+average);25)Numberofscoresaboveorequaltotheaverage26)+numOfAbove);27)Numberofscoresbelowtheaverage28)+numOfBelow);29)30)(0);31)32)6.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。

1)publicclassexercise72)publicstaticvoidmain(Stringargs)3)intnumbers=newint100;4)intcounts=newint10;5)6)intk;7)for(inti=0;i100;i+)8)9)numbersi=(int)()*10);10)countsnumbersi+;11)12)13)the100numbersis:

);14)for(inti=1;i=;i+)15)16)if(i%10!

=0)17)+);18)else19)20)21)22)thecountsofeachnumberis:

);23)for(inti=1;i=;i+)24)+);25)26)7.求平均值和方差。

利用mean(intnumbers)求平均值,利用deviation(intnumbers)求标准差。

1)importclassMeanDeviation2)publicstaticvoidmain(Stringargs)3)Scannerin=newScanner;4)5)输入数组的长度:

);6)intn=();7)8)输入数组元素:

);9)intarray=newintn;10)for(inti=0;i;i+)11)12)arrayi=();13)14)15)Themeanis:

+mean(array)+n16)+Thedeviationis:

+deviation(array);17)18)19)publicstaticdoublemean(intnumbers)20)21)doublesum=;22)for(inti=0;i;i+)23)24)sum+=numbersi;25)26)returnsum/;27)28)29)publicstaticdoubledeviation(intnumbers)30)31)doublepowSum=;32)for(inti=0;i;i+)33)34)powSum+=(numbersi-mean(numbers),2);35)36)37)return(powSum/-1);38)39)8.编写一个程序,求出整数数组中最小元素的下标。

如果这样的元素个数大于1,则返回下标最小的数的下标。

1)publicclassMinIndex2)publicstaticvoidmain(Stringargs)3)intlist=1,2,4,5,10,100,2,-22;4)5)Theminis+minIndex(list);6)7)8)publicstaticintminIndex(intlist)9)intmin=list0;10)intminIndex=0;11)12)for(inti=1;ilisti)14)min=listi;15)minIndex=i;16)17)18)returnminIndex;19)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1