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)二维数组的遍历
需求:已知一个二维数组 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]+" ");
					}
				}
			}
		}

(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]);
					}
				}
			}
		}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java之书

会持续更新实用好的文章谢谢关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值