数组概述

数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

数组的特点

  1. 数组是有序排列的
  2. 数组属于引用数据类型的变量,数组的元素,既可以是基本数据类型,也可以是引用数据类型
  3. 创建数组对象会在内存中开辟一整块连续的空间
  4. 数组的长度一旦确定,就不能修改。

一维数组

定义数组

一维数组定义声明方式

type[] arrarName;
type arrName[];

数组初始化

动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行。

int[] arr = new int[3];
arr[0] = 3;
arr[1] = 6;
arr[2] = 9;

String[] names = new String[3];
names[0] = "华罗庚";
names[1] = "袁隆平";
names[2] = "邓稼先";  

静态初始化:在定义数组的同时就为数组元素分配空间并赋值。

int arr[] = new int[]{3,6,9};
或
int[] arr = {3,6,9};

String names[] ={"李四光","茅以升","钱学森"};

数组元素的引用

  1. 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
  2. 数组元素的引用方式:数组名[数组元素下标]

    • 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
    • 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new
      int[3]; 可引用的数组元素为a[0]、a[1]、a[2]
  3. 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数)

    • 数组一旦初始化,其长度是不可变的

数组元素的默认初始值

数组元素类型元素默认初始值
byte0
short0
int0
long0L
float0.0F
double0.0
char0或写为:‘u0000’(表现为空)
booleanfalse
引用类型null

一维数组的内存解析

2020120823171636.jpg

二维数组

二维数组声明和初始化

//静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
//动态初始化1
String[][] arr2 = new String[3][2];
//动态初始化2
String[][] arr3 = new String[3][];
//其他方式
int[][] arr4 = {{1,2,3},{4,5},{6,7,8}};

二维数组元素的调用

二维数组分为外层数组的元素,内层数组的元素
int[][] arr = new int4;
外层元素:arr[0],arr[1]等
内层元素:arr0,arr1
通过length获取数组的长度

二维数组的默认初始化值

  1. 针对于初始化方式一:比如:int[][] arr = new int4;

    • 外层元素的初始化值为:地址值
    • 内层元素的初始化值为:与一维数组初始化情况相同
  2. 针对于初始化方式二:比如:int[][] arr = new int[4][];

    • 外层元素的初始化值为:null
    • 内层元素的初始化值为:不能调用,否则报错。

二维数组的内存解析

20201208231807541.jpg

在csdn开到一篇关于数组不错的总结
JAVA_基础Array数组(一维数组、二位数组)介绍与内存解析

最后修改:2021 年 07 月 21 日 08 : 05 PM
如果觉得我的文章对你有用,请随意赞赏