运行代码,随机打印班级同学名字
//1.数组存储姓名,用String数据类型 String[] names={"杰克","戴维琼斯","伊丽莎白","爱丽丝"}; //2.遍历数组,打印出所有姓名 for(int i=0;i<names.length;i++){ System.out.println(names[i]); } //3.随机出一个人名 //利用随机数,生成一个证书,作为索引,到数组中查找对应的元素 Random ran=new Random(); //随机数的范围是[0,names.length-1] int index=ran.nextInt(names.length); //括号中填写的最大数是获取不到的,因为nextInt获取的范围是左闭右开区间 System.out.println(names[index]);二维数组可以看成以数组为元素的数组。
其实多维数组不仅仅只有二维数组,还有三维数组,四维数组…, 但是三维以上很少见到,所以大家重点了解二维数组即可。
数组定义与为数组元素分配空间和赋值的操作分开进行
数据类型[][] 数组名 = new 数据类型[一维][二维];注意:这种初始化方式,每一个内层的二位数组长度相同
int[][] a=new int[3][2]; a[0][0] = 1; a[0][1] = 2; 数据类型[][] 数组名 = new 数据类型[一维][]; 内层数组需要我们自己去创建(下面可以用一维数组的创建方式) 数组名[一维数组索引值] = new 数据类型[二维]; int[][] a=new int[3][]; arr[0]=new int[2]; arr[1]=new int[]{3,4,5,6}; arr[2]=new int[]{7,8,9}; arr[0][0] = 1; arr[0][1] = 2;在定义数组的同时就为数组元素分配空间并赋值
数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; 数据类型[][] 数组名 = {{...},{...},{...}}; --简化写法 int[][] arr1=new int[][]{{5,4,8},{3,8},{1}}; char[][] arr2={{'a'},{'b','c'}};双重循环实现多维数组的遍历
//普通for循环嵌套增强for循环 for(int i=0;i<=arr1.length-1;i++){ for(int j:arr1[i]){ System.out.println(j); } } //增强 for循环嵌套普通for循环 for(int[] arr:arr1){ for(int i=0;i<=arr.length-1;i++){ System.out.println(arr[i]); } } //普通for嵌套普通for循环 ... //增强for嵌套增强for循环 ...Arrays中提供操作多维数组的方法:
static boolean deepEquals(Object[] a1, Object[] a2) 如果两个指定的数组彼此 深度相等 ,则返回 true 。 static String deepToString(Object[] a) 返回指定数组的“深度内容”的字符串表示形式。 double[][] arr1= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}}; double[][] arr2= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}}; System.out.println(Arrays.deepToString(arr1)); //[[1.0, 2.0], [3.0, 4.0, 5.0], [6.0]] System.out.println(Arrays.deepEquals(arr1, arr2)); //true加VX了解点我扫码领取 学习更多知识,请加入QQ群:1080355292,入群暗号(33)