11 二维数组初窥
11 二维数组初窥
定义语法
变量类型[] [] 名称 = new 变量类型[a] [b];
a代表的是能存放多少个一维数组
b代表每一个一维数组里面能存放多少个变量
a*b代表着该二维数组能够存储的元素的个数
如:int[] [] temp = new int[5] [6];
意思是定一个了一个名字为temp的二维数组,它能存放5个长度为6的一维数组,即一共可以存放三十个元素
具体操作
1.赋值
第一种,初始化赋值
int[][] a={{22},{33},{44,88,99}};
第二种:通过for循环赋值
int[][] a=new int[5][6];
System.out.println("能存放一维数组的个数"+a.length);
System.out.println("第一个一维数组能存放元素的个数"+a[0].length);
//第二种: 通过for循环赋值(所有值都一样)
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j]=10;
}
}
//补充:如果想赋值不同的值,直接赋值即可,如a[0][4]=9;a[1][2]=-7
2.取值
第一种 for循环输出
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
第二种 foreach循环输出
for (int[]data : a) {
//把原数组的地址赋值给新数组
for (int i : data) {
System.out.print(i+"\t");
}
System.out.println();//每输出一个二维数组就换行
}
3.取最大值或最小值
第一种 for循环
int max=-999999,min=99999999;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
if(max<=a[i][j]){
max=a[i][j];
}
if(min>=a[i][j]){
min=a[i][j];
}
}
}
System.out.println("二维数组中最大值为:"+max);
System.out.println("二维数组中最小值为:"+min);
第二种 foreach
//foreach循环(底层为迭代器)
//foreach定义一个新数组来接收原数组的地址
for (int[]data : a) {
//把原数组的地址赋值给新数组
for (int i : data) {
if(i>max){
max=i;
}
if(i<min){
min=i;
}
}
}
System.out.println("二维数组中最大值为:"+max);
System.out.println("二维数组中最小值为:"+min);