实验2.2 数组的引用与元素
一、实验目的
本实验的目的是让学生掌握数组属于引用型的一种复合弄数据类型。
二、实验要求
编写一个简单的Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。
三、程序效果示例
程序运行效果如图2.2所示。
图2.2 输出数组的引用和元素的值
四、程序模板
请按模板要求,将【代码】替换为Java程序代码。
【InputArray.java】
public class InputArray {
public static void main(String args[]) {
int[] a = {100, 200, 300};
【代码1】 //输出数组a的长度
【代码2】 //输出数组a的引用
int b[][] = {{1}, {1,1}, {1,2,1}, {1,3,3,1}, {1,4,6,4,1}};
【代码3】 //输出二维数组b的一维数组的个数
System.out.println(b[4][2]);
【代码4】 //将数组a的引用赋给b[4];
System.out.println(b[4][2]);
}
}
实验代码:
public class InputArray {
public static void main(String args[]) {
int[] a = {100, 200, 300};
//输出数组a的长度
System.out.println("数组a的长度="+a.length);
//输出数组a的引用
System.out.println("数组a的位置="+a);
int b[][] = {{1}, {1,1}, {1,2,1}, {1,3,3,1}, {1,4,6,4,1}};
//输出二维数组b的一维数组的个数
System.out.println(b[0].length);
System.out.println(b[4][2]);
//将数组a的引用赋给b[4];
b[4]=a;
System.out.println(b[4][2]);
}
}
实验结果:
数组a的长度=3
数组a的位置=[I@1b6d3586
1
6
300
五、实验后的练习
(1)在程序的【代码4】之后增加语句“a[3]=200;”,编译是否有错?运行是否有错?
有错。因为超出了定义的数组长度。
提示错误为:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at OS.InputArray.main(InputArray.java:16)
(2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。
for(int i=0;i<b.length;i++){
System.out.println(b[i].length);
System.out.println(b[i]);
}
1
[I@4554617c
2
[I@74a14482
3
[I@1540e19d
4
[I@677327b6
5
[I@14ae5a5
(3) 在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。
for(int j=0;j<b.length;j++){
System.out.println(b[j].length);
System.out.println(b[j]);
}
1
[I@4554617c
2
[I@74a14482
3
[I@1540e19d
4
[I@677327b6
3
[I@1b6d3586