• 8.javase_数组2


    一 . 二维数组
    (1)二维数组
    元素为一维数组的数组
    (2)定义格式:
    数据类型[][] 变量名; int[][] arr;
    数据类型 变量名[][]; int arr[][];
    数据类型[] 变量名[]; int[] arr[];

    二.二维数组初始化
    (1)静态初始化
    格式:数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…},…};
    范例:int[][] arr = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
    注意:一维数组中元素的个数可以是不同的
    举例: int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8,9}};

    (2)动态初始化
    格式:数据类型[][] 变量名 = new 数据类型[m][n];
    范例:int[][] arr = new int[2][3];

    三.二维数组元素访问
    (1)访问二维数组格式
    获取二维数组:数组名
    获取每一个一维数组:数组名[索引]
    获取每一个二维数组元素:数组名[索引][索引]

     (2)访问二维数组案例
        int[][] arr = {{1, 2, 3}, {4, 5, 6}};
        System.out.println(arr); //输出数组名 [[I@776ec8df
        System.out.println(arr[0]); //输出二维数组中的一维数组名  [I@4eec7777
        System.out.println(arr[0][0]); //输出数组具体元素
    
    • 1
    • 2
    • 3
    • 4
    • 5

    四.二维数组内存图
    在这里插入图片描述

    五.二维数组常见操作
    (1)二维数组的遍历
    需求:已知一个二维数组 arr = {{1,2,3},{4,5,6},{7,8,9}}; 请把元素在控制台输出

    public class ArrayTest01 {
    			public static void main(String[] args) {
    				//定义二维数组,并进行静态初始化
    				int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    				for (int i = 0; i < arr.length; i++) {
    					for (int j = 0; j < arr[i].length; j++) {
    						System.out.print(arr[i][j]+" ");
    					}
    				}
    			}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (2)二维数组元素打乱
    需求:已知二维数组 arr = {{1,2,3},{4,5,6},{7,8,9}};用程序实现把数组中的元素打乱,并在控制台输出打乱后的数组元素

    public class ArrayTest02 {
    			public static void main(String[] args) {
    				//1.定义二维数组,并进行静态初始化
    				int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    				//2.创建随机数对象
    				Random r = new Random();
    				//遍历二维数组,进行元素打乱
    				for (int i = 0; i < arr.length; i++) {
    					for (int j = 0; j < arr[i].length; j++) {
    						int x = r.nextInt(arr.length);
    						int y = r.nextInt(arr[x].length);
    						//元素交换
    						int temp = arr[i][j];
    						arr[i][j] = arr[x][y];
    						arr[x][y] = temp;
    					}
    				}
    				//遍历二维数组输出
    				for (int i = 0; i < arr.length; i++) {
    					for (int j = 0; j < arr[i].length; j++) {
    						System.out.println(arr[i][j]);
    					}
    				}
    			}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
  • 相关阅读:
    一级造价工程师(安装)- 计量笔记 - 第六章第三节通信设备及线路工程
    SpringBoot篇---第三篇
    “停车费”用英语怎么说?千万不要说Stop car money!柯桥BEC商务英语学习
    Spring Boot 2.x源码系列【3】启动流程深入解析之创建引导上下文
    多因素身份认证 (MFA) 插件:手机验证码认证因素配置流程
    打造线上体育培训新体验:教育系统助力培训机构实现高效管理
    P4317 花神的数论题
    Java按位取反操作~
    源码 编译 安装 openssl libssl-dev
    C++ 设计模式 —— 桥接模式
  • 原文地址:https://blog.csdn.net/jinhuding/article/details/128210196