------- android培训、java培训、期待与您交流! ----------
class Array2Demo//二维数组 及练习
{
public static void main(String[] args)
{
/*
//int[][] arr = new int [3][4];二维数组arr中有3个一维数组 每个一维
数组有4个元素
int[][] arr = {{3,5,1,7},{2,3,5,8},{6,1,8,2}};
System.out.println(arr[0][1]); 打印的是元素
System.out.println(arr); 打印的是地址
*/
int[][] arr1 = new int[3][];
System.out.println(arr1[0]);//结果是null 因为此时3个一维数组还没有初始化值
//而2数组属于引用数据类型 在堆内存中默认值是 null
arr1[0] = new int[3];
arr1[1] = new int[1];
arr1[2] = new int[2];//进行手动初始化 (此为不规则数组)
/*
System.out.println(arr.length);//打印是二维数组的长度 3;
System.out.println(arr[0].length);//打印二维数组中第一个一维数组长度
*/
int[][] arr = {{3,5,1,7},{2,3,5,8},{6,1,8,2}};
//求和:累加器 (int变量 加 嵌套循环!!!)
int sum=0;
for (int x=0;x<arr.length ;x++ )
{
for (int y=0;y<arr[x].length ;y++)
{
sum = sum + arr[x][y];
}
}
System.out.println("sum= "+sum);
}
/*
(int[] x;) int x[];//一维数组的书写形式 第二种int x[];只是单个变量有效
而第一种是中括号跟着变量走 所有变量都有效 下面二维同理
(int[][] y;) int y[][]; int[] y[];//二维数组的书写形式
题 目:int[] x,y[];//x一维,y二维。//只有sun认证考试是这个形式 平时不要这么写
像上面一维二维的第一种那样写就行
相当于:int[] x;
int[] y[];
a.
x[0] = y;//error 不能将二维数组当做元素赋给一维数组
b.
y[0] = x;//yes 二维数组就是的首角标就是一维数组
c.
y[0][0] = x;//error 二维数组的元素不能是一维数组
d.
x[0][0] = y;//error x根本就不是二维数组
e.
y[0][0] = x[0];//yes 都是表示的元素 所以可以互相赋值
f.
x=y;//error 肯定是错的
*/
}