7.数组的定义与数组相关经典案例

前言

数组:是一种用于存储多个相同类型数据的存储模型(可理解为容器)

一、数组的定义?

1.初始化

为数组中的数组元素分配内存空间,并为每个元素赋值

1.静态初始化:初始化时指定每一个数组元素的初始值。
在这里插入图片描述
在这里插入图片描述
数组是引用数据类型,存储的数组在内存中的地址信息。

***数组元素访问***
1.	数组变量访问方式:         格式:数组名
2.	数组内部保存的数据的访问方式: 格式:数组名[索引]
3.	获取数组长度:           格式:数组名.length(结果是元素个数)
4.	获取数组的最大索引       格式: 数组名. length–1 (前提:元素个数大于 0)

数组注意事项:

  1. “数据类型[] 数组名”也可以写成 “数据类型 数组名[] ”
  2. 什么类型的数组存放什么类型的数据,否则报错。
  3. 数组一旦定义出来,程序执行的过程中,长度、类型就固定了。

2.动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
在这里插入图片描述

***两种数组定义时的特点和场景区别***
1.	当前已经知道存入的元素值,用静态初始化。
2.当前还不清楚要存入哪些数据,用动态初始化。

二、数组遍历

就是一个一个的访问数据
在这里插入图片描述
对于IDEA可使用快捷键:数组名.fori ------- “ages.fori”

三、数组Demo

1.数组遍历-求和:

在这里插入图片描述
在这里插入图片描述

2.数组求最值:

在这里插入图片描述
在这里插入图片描述

3.猜数字游戏

在这里插入图片描述
在这里插入图片描述

4.随机排名

在这里插入图片描述
在这里插入图片描述

5.数组排序–冒泡排序

在这里插入图片描述
定义一个外部循环控制总共需要冒几轮(数组的长度-1)
定义一个内部循环,控制每轮依次往后比较几个位置(数组长度-i-1)。
如果当前位置的元素值>后一个位置的元素值,两者交换。

在这里插入图片描述

三、数组内存图

数组初始化时,会为存储空间添加默认值  整数:0   浮点型0.0    布尔false
                                   字符:空字符   引用数据类型:null
每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收

四、数组操作常见问题

  1. 索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
  2. 空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
  3. null:空值,引用数据类型的默认值,表示不指向任何有效对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值