黑马程序员技术交流社区

标题: 数组输出的问题 [打印本页]

作者: 彭璞    时间: 2012-11-27 19:09
标题: 数组输出的问题
本帖最后由 彭璞 于 2012-11-27 21:23 编辑

为什么数组这样输出是错的,老是受c语言中指针的影响:
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);
作者: 李刚    时间: 2012-11-27 19:16
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr1);
System.out.println(arr2);

是这样吧,但是你想输出里面的元素只能用for循环遍历了
作者: 齐银春    时间: 2012-11-27 19:19
直接输出arr你试试,不要后面的[]
作者: qianfancy    时间: 2012-11-27 19:24
int[] arr1=new arr1[3]
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);
第一 你只是定义了 数组大小,没定义值 所以 是空的
第二 要显示 必须这样
for (int i=0;i<arr1.length();i++){
     System.out.println(arr1[i]);
}
arr2 这样写
for (int i=0;i<3;i++){
     for (int j=0;j<4;j++){
    System.out.println(arr2[i][j]);

}

}
作者: 杨千里    时间: 2012-11-27 19:32
编译会通过吗?

(}EI4NX5_5]1HRH$T5FE8}L.jpg (15.11 KB, 下载次数: 39)

(}EI4NX5_5]1HRH$T5FE8}L.jpg

作者: 韩俊杰    时间: 2012-11-27 19:43
int[] arr1 = new int[3];
int[][] arr2 = new int[3][4];
System.out.println(arr[]);
System.out.println(arr[][]);

这样输出肯定是不行的,要想输出的话[]中必须有表达式,也就是角标,但是角标不能是数组的最大角标,因为会出现数组越界的错误,
还有就是输出的话值肯定是0,因为你只是定义了数组,却没有赋值,所以默认值都是0
作者: 黑_礼_服    时间: 2012-11-27 20:51
只开辟了一个数组空间 数组内没有值 如果输出数组里面的值必须按数组索引输出 这么输出肯定会报错
指定下标输出就没什么问题
作者: 陈山    时间: 2012-11-29 22:29
你要打印数组变量的话,就这样:                int[] arr1 = new int[3];
                int[][] arr2 = new int[3][4];
                System.out.println(arr1);
                System.out.println(arr2);
打印的是数组变量所对应的地址值


我想你是想打印数组元素吧,代码如下:
                int[] arr1 = new int[3];
                int[][] arr2 = new int[3][4];
                for(int i=0;i<arr1.length;i++){
                        System.out.println(arr1[i]);
                }
                for(int i=0;i<arr2.length;i++){
                        for(int j=0;j<4;j++){
                                System.out.println(arr2[i][j]);       
                        }       
                }
因为你只是创建了数组,并没有给其中的元素赋值,所以打印出来的是元素对应类型的默认值“0”.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2