二维数组
1.1 概念
标志是[ ][ ]。
存放数组的数组,也就是说数组里存的还是数组的数据形式。
1.2 创建二位数组
//1、静态初始化
int[][] a= {{1,2},{3,4},{5,6},{8,9}};
//创建外部数组长度是4
//创建内部数组长度分别是2
//初始化数组,存入默认值
//修改数组中的默认值
//分配唯一的内存地址值,并交给引用型变量a保存
for(int i=0;i
for(int j=0;j
syso(a[i][j]);//根据外围数组下标和内部数组下标结合定位元素
a[i][j]=?;
}
}
1.3 练习1:打印二位数组
Arrays.toString()和Arrays.deepToString()之间的不同
package cn.qile.array;
import java.util.Arrays;
public class Test5 {
public static void main(String[] args) {
int[][] a = {
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 }
};
System.out.println(Arrays.toString(a));//地址值 -- [[I@12a3a380, [I@29453f44, [I@5cad8086]
System.out.println(Arrays.deepToString(a));//打印二位数组 -- [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
}
}
1.4 练习2:冒泡排序(不是二维数组哦!!)
package cn.qile.array;
import java.util.Arrays;
import java.util.Random;
public class Test6 {
public static void main(String[] args) {
int[] arr = suiji();//获得随机数组
System.out.println(Arrays.toString(arr));
sort(arr);//冒泡
System.out.println(Arrays.toString(arr));
}
//获得随机数组
private static int[] suiji() {
int n = 5+new Random().nextInt(6);
int[] arr = new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i]=new Random().nextInt(100);
}
return arr;
}
//冒泡,从小到大排序
private static void sort(int[] a) {
for(int i=0;i
for(int j=a.length-1;j>i;j--){
if(a[j]