《Java数组练习题(带答案)》由会员分享,可在线阅读,更多相关《Java数组练习题(带答案)(11页珍藏版)》请在金锄头文库上搜索。
1、.一填空题1) 数组的元素通过下标来访问,数组Array的长度为 Array.length。2) 数组复制时,=将一个数组的引用传递给另一个数组。3) JVM将数组存储在栈(堆或栈)中。4) 数组的二分查找法运用的前提条件是数组已经排序。5) Java中数组的下标的数据类型是整型。6) 数组最小的下标是0。7) arraycopy()的最后一个参数指明复制元素的个数。8) 向方法传递数组参数时,传递的是数组的引用。9) 数组初始化包括数组的申明,创建和初始化。10) 数组下标访问超出索引围时抛出数组越界异常11) 浮点型数组的默认值是0.0f。12) 数组创建后其大小不能改变。二 选择题1.
2、下面错误的初始化语句是_ABD_A. char str=hello;B. char str100=hello;C. char str=h,e,l,l,o;D. char str=hello;2. 定义了一维int型数组a10后,下面错误的引用是_B_A.a0=1;B.a10=2;C.a0=5*2;D.a1=a2*a0;3. 下面的二维数组初始化语句中,正确的选项是_A. float b22=0.1,0.2,0.3,0.4;B. int a=1,2,3,4;C. int a2= 1,2,3,4;D. float a22=0;4. 引用数组元素时,数组下标可以是_D_A. 整型常量 B. 整型变量
3、 C. 整型表达式 D. 以上均可5. 定义了int型二维数组a67后,数组元素a34前的数组元素个数为_A. 24 B.25 C. 18 D. 176. 以下初始化字符数组的语句中,正确的选项是_B_A. char str5=hello;B. char str=h,e,l,l,o,0;C. char str5=hi;D. char str100=;7. 数组在Java中储存在C中A.栈 B.队列C.堆D.链表8. 下面程序的运行结果是_main()int a=1,2,3,4,5,6;System.out.printf(%d, a11);A. 3B.4C.5D. 69. 下面程序的运行结果是_
4、C_main()int x=30;int numbers=new intx;x=60;System.out.println(numbers.length);A.60B.20C.30D.5010. 下面程序的运行结果是_BDF_main()char s1=ABCDEF.toCharArray();int i=0;while(s1i+!=0)System.out.println(s1i+);A. ABCDEF B. BDF C. ABCDE D. BCDE11. 下面不是创建数组的正确语句CA.floatf=newfloat66;B.floatf=newfloat6; C.floatf=newfl
5、oat6;D.floatf=newfloat6;12. 下面不是数组复制方法的是(C)A. 用循环语句逐个复制数组 B. 用方法arraycopy C. 用=进行复制 D. 用clone方法13. 数组a的第三个元素表示为DA.a(3) B.a3C.a(2) D.a214. 当访问无效的数组下标时,会发生B A. 中止程序 B. 抛出异常C. 系统崩溃 D. 直接跳过15. 使用arraycopy()方法将数组a复制到b正确的选项是AA. arraycopy(a,0,b,0,a.length) B. arraycopy(a,0,b,0,b.length)C. arraycopy(b,0,a,0
6、,a.length) D. arraycopy(a,1,b,1,a.length)16. 关于数组默认值,错误的选项是B A. char-u0000 B. Boolean-true C. float-0.0fD. int- 017. 关于数组作为方法的参数时,向方法传递的是 A A. 数组的引用B.数组的栈地址 C. 数组自身D.数组的元素18. 关于数组复制,以下说法错误的选项是ACA.=可以实现数组复制B. 运用循环语句进行数组复制必须两个数组长度相同C. arraycopy()方法没有给目标数组分配存空间D.数组复制是数组引用的传递19. 以下语句会造成数组new int10越界是DA.
7、a0+=9;B.a9=10;C.a9D.for(int i=0;i=10;i+) ai+;20. 在JDK环境下编译JAVA源程序使用的命令是(B) A.java B.javac C.jvm D.tomcatD. 子类不能使用父类的构造方法21. main方法是javaApplication程序执行的入口点。关于main方法放入方法以下合法的是( )A.publicstaticvoidmain();B.publicstaticvoidmain(Stringargs) C.publicstaticintmain(Stringarg)D.publicvoidmain(Stringarg)22. 执
8、行完代码intx=newint25;后以下(A)说明正确的A.x24为0 B. x24未定义 C. x25为0 D.x0为空23. 关于数组排序方法,错误的选项是CA.选择排序B.插入排序C. 二分排序D.用arrays.sort( )排序24. 关于char类型的数组,说确的是D A. 其数组的默认值是AB.可以仅通过数组名来访问数组 C. 数组不能转换为字符串D.可以存储整型数值25. 对于数组a10,以下表示错误的选项是BA.a0B.a(0)C. a9D.a126. 以下数组声明,以下表示错误的选项是A. int aB. int aC. int aD. inta三、是非题1.下标用于指出
9、数组中某个元素位置的数字。()2.把数组中元素按某种顺序排列的过程叫做查找。()3.确定数组中是否含有某个关键字的过程叫做排序。()4.一个数组可以存放许多不同类型的数值。()5.数组的下标通常是float型。()6.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。()7.数组可以声明为任何数据类型。()8.数组由具有一名字和相同类型的一组连续存单元构成。()9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。()10.将一个数组传递给一个方法,必须加在数组名后加方括号。()11.Java语言中的数组元
10、素下标总是从0开始,下标可以是整数或整型表达式。()12.下面这条语句正确吗?() double myList; myList = 1.9, 2.9, 3.5, 4.6;14. 数组中有length()这个方法,如array.length()表示数组array中元素的个数()15.下面这条语句正确吗( ) int t32 = 1,2,3,4,5,6;16.数组声明后其大小固定。( )17.设有整型数组的定义:int A.=new int8; ,那么a.length的值为7。()18. 数组一旦创建,其大小不能再改变。()19.用任何方式创建数组时,都必须指定数组的长度。()20.声明数组时,要
11、指定数组长度,以便为数组分配存。()四、简答题1. 如何声明和创建一个一维数组? 2. 如何访问数组的元素?3.数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?4.数组越界访问会发生什么错误?怎样避免该错误?5.给方法传递数组参数与传递基本数据类型变量的值有何不同?6.复制数组有哪些方法?8.声明数组变量会为数组分配存空间吗?为什么?五、程序题1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。1) public class Test 2) public static void main(String args)
12、 3) int a = 1,3,5,7,9,11,13,15,17,19;4) int t;5) System.out.println(数组的初始状态为:);6) for (int i=0; i a.length; i+)7) System.out.print( + ai);8) System.out.println();9)10) for (int i=0; i a.length/2; i+) 11) t = ai;12) ai = aa.length-i-1;13) aa.length-i-1=t;14) 15)16) System.out.println(数组逆序存放后的状态为:);17
13、) for (int i=0; i a.length; i+)18) System.out.print( + ai);19) 20) 2.编写一个程序,提示用户输入学生数量和他们的成绩,并按照成绩的降序来打印学生的。1) public class exercise16 2) public static void main(String args) 3) String numberString = 4) JOptionPane.showInputDialog(Enter the number of students);5) int numberOfStudents = Integer.parseInt(numberString);6)7) String names = new StringnumberOfStudents;8) double scores = new doublenumberOfStudents;9)10) for (int i = 0; i scores.length; i+) 11) namesi = JOptionPane.showInputDialog(E