java数组

在java中数组 Array 有两种 : 一维数组多维数组

数组属于引用数据类型 , 数组的元素可以是基本数据类型 , 也可以是引用数据类型.

一维数组

1.一维数组初始化的默认值

1.1其中的 char 类型 需要注意 打印出来的值是" "(一个空格) , 但是 也等于0

2.一维数组在内存中的解析

2.1首先了解一下 jvm 的结构

2.2数组在内存中的存储位置

(图2.2)

说明 : 左边栈 , 右边 堆 , 左边是声明的局部变量(方法内声明的变量称为局部变量) , 右边是堆(凡是new出来的 , 都存放在堆中) , 对应的局部变量和 值 都有一个地址值(例如:0x34ab), 局部变量通过这个地址值找到对应的数据.

二维数组

说明 : 二维数组中的元素是数组(数组的元素可以是基本类型也可以是引用类型)

1.二维数组的创建

静态初始化 : 数据在数组创建时确定

动态初始化1: 数组的元素个数 , 以及元素中数组的元素个数以确定 , 但具体的值不确定.

动态初始化2: 数组的元素个数确定 , 但元素中的数组的元素个数并未确定.

数组创建的另一种写法:

一维 :

String[] strs = {"1","2"};

二维:

int[][] arr4={{1,2,3},{1,2},{3,4,5,6}};

注意 : 如果是先声明变量然后创建 , 这种写法会报错.

2.二维数组的初始化值

地址值中的 " [ " : 表示的是输出的数组是几维的 , 一个 [ 就表示一维 , [[ 就表示二维, " I "表示数组中的数据类型

注意 : 如果没有声明内存空间 , 就会报空指针异常

总结 :

3.二维数组的内存结构

数组总结 : 数组可以是多维的 , int[][][] ...   但是如果从内存结构来看 , 所有的多维数组都是一维的.

原文地址:https://www.cnblogs.com/Anonymity-zhang/p/14251227.html