days03--数组

Posted 安小猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了days03--数组相关的知识,希望对你有一定的参考价值。

数组:(为了解决 频繁定义相同数据类型的变量存储数据)
存储多个数据类型相同的存储模型

定义:
格式1: 数据类型[] 变量名;
格式2: 数据类型 变量名[];
注意:[]表示数组的存储空间大小

一维数组

定义

格式1: 数据类型[] 变量名
例如: int[] arr
格式2: 数据类型 变量名[]
例如: int arr[]

初始化:

动态: 手动指定数组长度,系统分配默认值
格式:
数据类型[] 变量名=new 数据类型[长度];

静态: 手动指定值,系统分配默认长度
格式:
数据类型[] 变量名=new 数据类型[]{值1,值2…值n};
数据类型[] 变量名={值1,值2…值n};

数组的操作(取值和修改):

索引和下标:
1.从0开始
2.连续
3.每次加1

取值格式:

1.访问数组 : 数组名称
2.访问数组中的元素 : 数组名称[下标/索引/index]
注意: 索引永远是长度-1

数组内存:堆内存

栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
1:存储new出来的内容(实体和内存)。
2:每一个实体都有内存地址值。 实体中的变量都有默认初始化值 3:实体不再被使用时,会在不确定的时间内被垃圾回收器回收

数组常见问题:

1.下标越界
2.空指针(null)
3.数组空间长度不可变
4.想要可变只能创建更大空间重新赋值给变量

数组的优点和缺点:

优点:使用方便,查询效率比链表高,内存唯一连续的区域。 缺点:大小固定,不适合动态存储,不方便动态添加

二维数组

定义

格式1: 数据类型[][] 变量名
例如: int[][] arr
格式2: 数据类型 变量名[][]
例如: int arr[][]

初始化

动态初始化:
初始化时只指定数组的长度,由系统为数组分配初始值
格式:数据类型[][] 变量名=new 数据类型[数组长度][数组长度];
例如: int[][] arr=new int[5][5];

静态初始化:
初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:
数据类型[][] 变量名=new 数据类型[][]{{数据1…},{数据2…}…};
数据类型[][] 变量名={{数据1…},{数据2…}…};

以上是关于days03--数组的主要内容,如果未能解决你的问题,请参考以下文章

每日一练(day09补08,03,04)

java小白训练营2109-day03-数据结构:基本类型+包装类型+数组+对象

day03 java内存结构以及重载

java小白训练营day03-数据结构:基本类型+包装类型+数组+对象

java小白训练营day03-数据结构:jUnit+基本类型+包装类型+数组+对象

java小白训练营day03-数据结构:jUnit+基本类型+包装类型+数组+对象23