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--数组的主要内容,如果未能解决你的问题,请参考以下文章
java小白训练营2109-day03-数据结构:基本类型+包装类型+数组+对象
java小白训练营day03-数据结构:基本类型+包装类型+数组+对象