Java实验——数组的引用与元素

实验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
经验分享 程序员 微信小程序 职场和发展