数组

一. 为什么需要数组?

为了存储多个数据值

二.什么时数组?

数组时用来存储同一种数据类型多个元素的容器。数据类型:可以时基本类型,也可以是引用类型
容器:比如教室、衣柜、纸箱等,可以存放多个事物

三.数组的定义和访问

数组的定义格式一:

数据类型[ ]数据名=new 数据类型[长度];

//定义一个长度为6的整形数组
int[] nums = new int[6];

定义格式详解:

1.数据类型:即数组中存储元素的数据类型,可以是基本数据类型,也可以是引用数据类型
2.[ ]:表示数组
3.数组名:数组的变量名,遵循标识符命名规范
4.new:创建数组的关键字,通过new开辟内存空间
5.长度:即数组长度,数组最多能存放元素的个数。数组长度在定义时指定,不可更改

数组的定义格式二:

数据类型[ ] 数组名 = new 数据类型[ ](元素1,元素2,元素3…);

double[] doubleNums = new double[]{.1,.2,0.3};

格式二的好处:

定义时元素是确定的,避免内存空间的浪费

数组的初始化

在内存中为数组开辟连续空间并为每个元素赋值的过程
内存:计算机的重要组件,用于程序运行中临时存储数据
连续空间:数组元素在内存空间种的存放位置时连续的

动态初始化

只指定长度,有系统给出默认值·
整数型:0
浮点型:0.0
字符型:’\u0000‘(空字符)
布尔型:false
引用类型:null

静态初始化

给出初始化值,有系统决定数组长度

数组的访问

通过数组的索引访问数组的元素
索引:也叫下标、脚标、是数组元素距离数组起始位置的偏移量
第一个元素的偏移量为0,所以数组的索引从0开始
格式:数组名[索引]
取值:数组名[索引]
复制:数组名[索引] = 值

数组的遍历

需求
给定一个int型数组,输出数组中的每个元素
分析
A.使用格式一定义一个长度为5cm的int型数组
B.为数组的前三个元素分别赋值为1,2,3
C.使用循环遍历数组
数组的长度:数组名.length
结论
1.数组的最大索引为数组长度-1
2.数组中未手动赋值的元素,有默认值
3.直接输出数组的变量名,得到的是数组的内存地址值

四.Java程序的内存分配

方法区:存储可运行的class文件,包含方法,静态成员,常量等(面向对象部分详解)
:方法运行使用的内存,特点是“后进先出”,即最先进入栈区的方法最后出栈,比如main方法本地方法栈:JVM在调用操作系统功能时使用,与开发无关
寄存器:CPU使用,与开发无关
数组类型:变量arr存储的是数组在堆内存种的地址值,而不是数组元素的值,变量arr通过内存地址引用堆内存中的数组,所以数组是引用类型。在这里插入图片描述

五.数组的常见操作

数组使用种的两个常见问题
数组索引越界异常:ArraylndexOutOfBoundsException

当访问不了存在的索引时
异常:即非正常情况,可以简单理解为程序运行过程中过出现错误

空指针异常:NullPointerException

数组引用存储的值为null二非数组的地址值时

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值