Java数组的概述:

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

1、 数组名:数组的名称,用于区分不同的数组,数组只有一个名称,即标识符,要符合标识符规范。
2、 元素类型:数组要存储的元素的数据类型。
3、 数组元素:向数组中存放的数据/元素。
4、 元素下标:对数组元素进行编号,元素下标标明了元素在数组中的位置,从0开始;数组中的每个元素都可以通过下标来访问。
5、 数组长度:数组长度固定不变,避免数组越界。

3、 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。
4、 数组的长度一旦确定,就不能修改。
5、 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。
6、 数组的分类:

1、按照维度:一维数组、二维数组、三维数组、… 2、按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)

Java的一维数组的使用:初始化

动态初始化:数组声明且为数组元素分配空间

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

与赋值的操作分开进行

String names[];
 names = new String[3];
 names[0] = “李明”;
 names[1] =“张三”;
 names[2] = “王老狗”;

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

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

赋值:
String names[] = { “李四”,“张三”,“老王” }
new关键字:
Java中使用关键字new来创建数组。
定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
声明数组的语法格式1

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

声明数组的语法格式2

元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

声明一个变量就是在内存空间划出一块合适的空间,声明一个数组就是在内存空间划出一串连续的空间。
注:

[]在元素类型后 或 数组名后都可以。
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int

a[5]; //非法

示例一:

java 数组中的元素怎么表示 java数组元素是什么_后端

数组元素的引用方式:数组名[数组元素下标],如boy[0],boy[1]等。
数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、a[1]、a[2]

需要注意的是索引从0开始,到数组的长度-1结束。

一维数组的内存解析:

内存的简化结构:

1、栈(stack):存放基本类型的变量数据、局部变量和对象的引用,但对象本身不存放在栈中。
2、堆(heap):存放由new创建的对象和数组以及对象的实例变量。
3、静态存储区(static storage):又叫方法区:包含的都是在整个程序中永远唯一的元素,如class,static变量。
4、常量存储区(constant storage):常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。
5、静态区/静态域(static storage):随着类的加载而加载并初始化,存在于方法区内存中的字节码文件的静态区域中。

java 数组中的元素怎么表示 java数组元素是什么_后端_02

内存结构:

java 数组中的元素怎么表示 java数组元素是什么_排序算法_03

内存解析:

java 数组中的元素怎么表示 java数组元素是什么_后端_04