二维数组概述
- 二维数组: 元素为一维数组的数组
- 二维数组的定义格式:
- 数据类型[] [] 变量名; int[] [] arr; 推荐
- 数据类型 变量名[] []; int arr[] [];
- 数据类型[] 变量名[]; int[] arr[];
二维数组初始化
- 静态初始化
- 动态初始化
静态初始化:
格式: 数据类型[] [] 变量名 = new 数据类型[] []{
{元素…},{元素…},{元素…},…};
范例: int[] [] arr = new int[] []{
{1,2,3},{4,5,6},{7,8,9}};
解读:
- 定义了一个二维数组
- 二维数组中有三个元素(一维数组)
- 每一个一维数组有三个元素(int类型数据)
- 注意:一维数组中元素的个位可以是不同的
- 比如: int[] [] arr = new int[] []{
{1,2,3},{4,5},{6,7,8,9}};
简化格式: - 简化格式: 数据类型[][] 变量名 = { {元素…},{元素…},{元素…},…};
- 范例: int[] [] arr = { {1,2,3},{4,5,6},{7,8,9}};
动态初始化:
- 格式: 数据类型[] [] 变量名 = new 数据类型[m] [n];
- 范例: int[] [] arr = new int[2] [3];
解读:
- 定义了一个二维数组
- 二维数组中有2个元素(一维数组)
- 每一个一维数组有3个元素(int类型数据)
静态初始化:适合一开始就能确定元素值的业务场景
动态初始化:适合开始知道数据的数量,但是不确定具体元素值的业务场景
二维数组元素访问
获取数组内容的
- 获取二维数组:数组名
- 获取每一个一维数组:数组名[索引]
- 获取每一个二维数组元素:数组名[索引] [索引]
/*
静态初始化简化格式:数据类型[][] 数组名 = {
{元素...},{元素...},{元素...},...};
*/
public class ArrayDemo {
public static void main(String[] args) {
//静态初始化简化格式:数据类型[][] 数组名 = {
{元素...},{元素...},{元素...},...};
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[1]); //[I@3b07d329
//如何获取到数据1,2,3呢?
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[0][2]);
}
}
案例5(二维数组常见操作之遍历)
- 这里有一个需求:已知一个二维数组 arr = { {1,2,3},{4,5,6},{7,8,9}}; 请把元素在控制台输出。
package com.itheima_01;
/*
需求:已知一个二维数组 arr = {
{1,2,3},{4,5,6},{7,8,9}}; 请把元素在控制台输出
*/
public class ArrayTest01 {
public static void main(String[] args) {
int[][] arr={
{
1,2,3}