Java数组练习题(带答案)_第1页
Java数组练习题(带答案)_第2页
Java数组练习题(带答案)_第3页
Java数组练习题(带答案)_第4页
Java数组练习题(带答案)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一填空题 1) 2) 3) 4) 数组的元素通过下标 来访问,数组 Array的长度为 数组复制时,=将一个数组的引用传递给另一个数组。 JVM将数组存储在栈(堆或栈)中。 数组的二分查找法运用的前提条件是数组已经 排序 Arra v.length 5) Java中数组的下标的数据类型是 整型 。 6) 数组最小的下标是 0。 7) 8) 9) arrayco py()的最后一个参数指明 向方法传递数组参数时,传递的是数组的 数组初始化包括 数组的申明,创建和初始化 复制元素的个数 引用 。 10) 数组下标访问超出索引范围时抛出 数组越界 异常 11) 浮点型数组的默认值是0.0f。 12)

2、 数组创建后其大小不能 改变。 选择题 1. F面错误的初始化语句是 _ABD. A. char str=hello; B. char str100=hello; 2. C. char str=h,e,T,T,o; 定义了一维int型数组a10后, D. char str=hello; F面错误的引用是_B_ 3. A. a0=1; B. a10=2; 下面的二维数组初始化语句中,正确的是 C. a0=5*2; D. a1=a2*a0; 4. 5. 6. 7. 8. 9. A. float b22=0.1,0.2,0.3,0.4; C. i nt a2= 1,2,3,4; 引用数组元素时,数组

3、下标可以是 A.整型常量B.整型变量 B. i nt a=1,2,3,4; D. float a22=0; C.整型表达式D.以上均可 定义了 int型二维数组a67后,数组元素a34前的数组元素个数为 A. 24 B. 25 C. 18 D. 17 下列初始化字符数组的语句中,正确的是 A. char str5=hello; C. char str5=hi; 数组在Java中储存在 A.栈 B. char str=h,e,T,T,o,0; D. char str100=; B.队列 C.堆 D.链表 F面程序的运行结果是 mai n() int a=1,2,3,4,5,6; System.o

4、ut .prin tf(%d, a11); A. 3 B. 4 C. 5 D. 6 F面程序的运行结果是C mai n() 精选文库 int x=30; in t nu mbers=new in tx; x=60; System.out. pnntln(nu mbers .len gth); A. 60 B. 20 C. 30 D. 50 10. F面程序的运行结果是BDF 11 mai n() char s1=ABCDEF.toCharArray(); int i=0; while(s1i+!=0) System.out. prin tl n(s1i+); D. BCDE A. ABCDEF

5、 B. BDF C. ABCDE 11. F面不是创建数组的正确语句 A.float f=new float6 6; B.float f=new float6; 12. C.float f=new float 6; 下面不是数组复制方法的是(C) A.用循环语句逐个复制数组 D.float f= new float6; C.用=进行复制 B.用方法 arraycopy D.用clone方法 13.数组a的第三个元素表示为 D A. a(3)B. a3 14.当访问无效的数组下标时,会发生 A.中止程序B.抛出异常 C.a(2) D. a2 C.系统崩溃 D.直接跳过 b正确的是A 15.使用a

6、rraycopy()方法将数组a复制到 A. arrayc opy (a,0,b,0,a .len gth) B. arrayc opy (a,0,b,0,b .len gth) D. arrayc opy (a,1,b,1,a.le ngth) C. . arrayc opy (b,0,a,0,a .len gth) 16.关于数组默认值,错误的是B A. char-u0000 B. Boolea n-true C. float-0.0f D. i nt- 0 17. 关于数组作为方法的参数时,向方法传递的是 C.数组自身 D.数组的元素 A.数组的引用B.数组的栈地址 18. 关于数组复制

7、,下列说法错误的是AC A.=可以实现数组复制 B.运用循环语句进行数组复制必须两个数组长度相同 C. arrayco py()方法没有给目标数组分配内存空间 D. 数组复制是数组引用的传递 19.下列语句会造成数组new int10越界是D A. a0 += 9; B. a9=10; C. a9 D. for(i nt i=0;i=10;i+)ai+; 20. 在JDK环境下编译JAVA源程序使用的命令是(B ) A.javaB.javac C.jvm D.子类不能使用父类的构造方法 D.tomcat 21. main方法是java Application程序执行的入口点。关于main方法放

8、入方法以下合法的是 A. p ublic static void main(); B. p ublic static void main( Stri ngargs) 22. 23. C. P ublic static int main( Stri ng arg) D. p ublic void main( Stri ng arg) 执行完代码int x=new int25;后以下( A. x24为 0B. x24未定义 关于数组排序方法,错误的是 C A.选择排序B.插入排序 A )说明正确的 C. x25为 0 D. x0为空 C. 二分排序 D.用 arrays.sort()排序 24.关

9、于char类型的数组,说法正确的是 A.其数组的默认值是A C.数组不能转换为字符串 B.可以仅通过数组名来访问数组 D.可以存储整型数值 25.对于数组a10,下列表示错误的是 A. a0B. a(0) 26.下列数组声明,下列表示错误的是 C. a9 D. a1 A. i nt a 三、是非题 B. i nt a C. i nt a D. i nta 1.下标用于指出数组中某个元素位置的数字。 ( 2.把数组中元素按某种顺序排列的过程叫做查找。 3.确定数组中是否含有某个关键字的过程叫做排序。 4.一个数组可以存放许多不同类型的数值。 5. 数组的下标通常是 float型。() 6. 数组

10、的某个元素被传递给一个方法并被该方法修改, 中含有修改过的数值。() 当被调用方法执行完毕时,这个元素 7. 数组可以声明为任何数据类型。() 8. 数组由具有一名字和相同类型的一组连续内存单元构成。 () 9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素, 用户来决定。() 该数组大小只能由 10. 将一个数组传递给一个方法,必须加在数组名后加方括号。() 11. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 12.下面这条语句正确吗?() double myList; myList = 1.9, 2.9, 3.5, 4.6; 14. 数组中有len

11、gth()这个方法,如 array.length()表示数组array中元素的个数() 15. 下面这条语句正确吗?() int t32 = 1,2,3,4,5,6; 16.数组声明后其大小固定。() 17. 设有整型数组的定义:int A.=new int8;,则a.length的值为7。() 18. 数组一旦创建,其大小不能再改变。() 19. 用任何方式创建数组时,都必须指定数组的长度。 20. 声明数组时,要指定数组长度,以便为数组分配内存。 四、简答题 1. 如何声明和创建一个一维数组? 2. 如何访问数组的元素? a的第三个元素如何表示? 3. 数组下标的类型是什么?最小的下标是什

12、么? 一维数组 4. 数组越界访问会发生什么错误?怎样避免该错误? 5. 给方法传递数组参数与传递基本数据类型变量的值有何不同? 6. 复制数组有哪些方法? 8.声明数组变量会为数组分配内存空间吗?为什么? 1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒 序存放并输出。 1) 五、程序题 p ublic class Test .7 23456789 p ublic static void main( Stri ng args) int a = 1,3,5,7,9,11,13,15,17,19; int t; System.out.printin

13、(”数组的初始状态为:); for (int i=0; i a.le ngth; i+) System.out .prin t( + ai); System.out .prin tl n(); 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) for (i nt i=0; i a.le ngth/2; i+) t = ai; ai = aa.le ngth-i-1; aa.le ngth-i-1=t; System.out.printin(数组逆序存放后的状态为:); for (int i=0; i a.le ngth; i+) System.out .p

14、rin t( + ai); 2. 编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学 生的姓名。 1) P ublic class exercise16 2) p ublic static void main( Stri ng args) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30) 31) 32) 33) 34) 35) 36) 37) 38) 39) 40) String nu mberStri ng

15、= JOp ti onPan e.show Inpu tDialog(E nter the nu mber of stude nts); int nu mberOfStude nts = In teger. parse lnt(nu mberStri ng); Stri ng n ames = new Stri ng nu mberOfStude nts; double scores = new double nu mberOfStude nts; for (i nt i = 0; i = 1; i-) double curre ntMax = scores0; int curre ntMax

16、 In dex = 0; for (i nt j = 1; j = i; j+) if (curre ntMax = 0; i-) System.out. println(n amesi + t + scoresi); 3. 编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这 输出。 1) import javax.swi ng.JO ptio nPane; 2) 10个数 2) p ublic class exercise5 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23)

17、 24) 25) P rivate static int j = 0; p ublic static void main( Stri ng args) in t array Int = new in t10; int i = 0; do Stri ng nu mberStri ng = JOp ti onPane .showI np utDialog(E nter a nu mber:); int nu mber = In teger. parse lnt(nu mberStri ng); if (isNotHave(arrayI nt, nu mber) arrayin ti = nu mb

18、er; i+; j+; else do nu mberStri ng = JOp tio nPane .showInputDialog(This number is exit,enter a 26) 27) 28) 29) 30) 31) 32) 33) 34) 35) 36) 37) 38) 39) 40) 41) ano ther nu mber:); nu mber = In teger. parse lnt(nu mberStri ng); while (!isNotHave(arrayl nt, nu mber); arrayin ti = nu mber; i+; j+; whil

19、e (i array In t.le ngth); Stri ng out put =; for (int k : array Int) out put += k + ; JOp tio nPan e.showMessageDialog( null, The eleme nts of array Int is arrayin t, 42) 43) 44) 45) +out put, JOp tio nPan e.lNFORMATION_MESSAGE); out put p ublic static boolea n isNotHave(i nt array In t, int n) for

20、(i nt i = 0; i low) mid = (mid = (low + high) / 2) ? (mid + 1) : (low + high) / 2); if (key = 0); double average = (sum - scoresco un t) / (co unt - 1); int num OfAbove = 0; int num OfBelow = 0; for (i nt i = 0; i = average) num OfAbove+; else num OfBelow+; System.out. prin tl n(Average is + average

21、); System.out .prin tl n(Number of scores above or equal to the average + num OfAbove); System.out. printin (Number of scores below the average + num OfBelow); System.exit(O); 6.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。 1) 2) 3) 4) 5) 6) P ublic class exercise7 p ublic static void main( Stri ng args) in t

22、 nu mbers = new in t100; in t counts = new in t10; int k; for (i nt i = 0; i 100; i+) 精选文库 22) 15 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26) numbersi = (in t)(Math.ra ndom() * 10); coun ts nu mbersi+; System.out .println( the 100 numbers is :); for(i nt i = 1; i = nu m

23、bers.le ngth; i+) if (i % 10 != 0) System.out .print(nu mbersi-1 + ); else System.out .println(nu mbersi-1); System.out. prin tl n(the counts of each nu mber is :); for(i nt i = 1; i = coun ts.le ngth; i+) 7.求平均值和方差。利用mean(int numbers)求平均值,利用deviation(int numbers)求标 准差。 1) .7 .7 .7 23456789 import j

24、ava.util.Sca nner; p ublic class Mean Deviati on p ublic static void main( Stri ng args) Sca nner in = new Sca nn er(System.i n); System.out.print(输入数组的长度:); int n = in.n extl nt(); 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) System.out.print(输入数组元素:); in t array = new in t n; for (int i = 0; i array.le ngth; i+) arrayi = in.n extI nt(); System.out. prin t(The mea n is: + mean( array) + n + The deviati on is: + deviatio n(array); p ublic static double mean (i nt nu mbers) double sum = 0.0; Syste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论