当前位置: 首页 > news >正文

06_数组

目录

 

1.数组概述(会)

1.1. 为什么要使⽤数组?

1.2. 数组是什么?

1.3. 数组定义

1.4. ⽐较简单和引⽤数据类型

2. 数组的声明(会)

2.1. 声明数组

​编辑

2.2. 数组的实例化

2.3. 数组引⽤

​编辑

3. 数组的下标(会)

3.1. 下标的概念

3.2. 访问数组元素

3.3. 注意事项

4. 数组的遍历(会)

4.1. 下标遍历

4.2. 增强for循环

4.3. 两种⽅式的对⽐

5. 函数和数组的联合应⽤(会)

5.1. 函数传参分类

5.2. 示例代码

5.3. 址传递的深⼊理解(扩展)

5.3.1 值传递和址传递⽐较

5.3.2. 示例代码

5.3.3 内存分析

5.3.4 案例分析

5.3.5 内存分析

6. 数组的排序

6.1. 选择排序(会)

6.2. 冒泡排序(会)

7. 数组的查询(会)

7.1. 顺序查询

7.2. ⼆分查询

8. 可变⻓参数(了解)

8.1. 概念

8.2. 语法

9. ⼆维数组(了解)

9.1. 概念

9.2. 定义与使⽤

10. Arrays⼯具类(会)

10.1. 常⽤⽅法

10.2. 示例代码


 

1.数组概述(会)

1.1. 为什么要使⽤数组?

1.2. 数组是什么?

1.3. 数组定义

1.4. ⽐较简单和引⽤数据类型

2. 数组的声明(会)

2.1. 声明数组

 

2.2. 数组的实例化

实例化数组: 其实就是在内存中开辟空间, ⽤来存储数据。


2.3. 数组引⽤

然后, 将堆上的内存地址, 赋值给栈上的变量array(引⽤)。

关于内存地址的说明(扩展)

 

3. 数组的下标(会)

3.1. 下标的概念

下标, 就是数组中的元素在数组中存储的位置索引。

注意: 数组的下标是从0开始的, 即数组中的元素下标范围是 [0,
数组.length - 1]

 

3.2. 访问数组元素

访问数组中的元素, 需要使⽤下标访问。

3.3. 注意事项

4. 数组的遍历(会)

数组遍历: 其实就是按照数组中元素存储的顺序, 依次获取到数组
中的每⼀个元素。

4.1. 下标遍历

思路: 循环依次获取数组中的每⼀个下标, 再使⽤下标访问数组中
的元素

4.2. 增强for循环

思路: 依次使⽤数组中的每⼀个元素, 给迭代变量进⾏赋值。

4.3. 两种⽅式的对⽐

5. 函数和数组的联合应⽤(会)

5.1. 函数传参分类

5.2. 示例代码

public class Demo3 {
public static void main(String[] args) {
//求三个数的和
//直接⽤数值作为参数传递-值传递
int tmp1 = getMax(3, 4, 6);
System.out.println(tmp1);
//⽤数组实现求三个数的和-址传递
int[] arr1 = new int[] {3,5,8};
int tmp2 = getMax(arr1);
System.out.println(tmp2);
}
public static int getMax(int a,int b,int c) {//
值传递
int tmp = a>b?a:b;
return c>tmp?c:tmp;
}
public static int getMax(int[] arr) {//地址传递
arr = arr1
int max = arr[0];
for (int i=0;i<arr.length-1;i++) {
if (max < arr[i+1]) {
max = arr[i+1];
}
}
return max;
}
}

5.3. 址传递的深⼊理解(扩展)

5.3.1 值传递和址传递⽐较

5.3.2. 示例代码

5.3.3 内存分析

总结:址传递的最终原因是两个变量保存了同⼀个数组的地址,操作的是同⼀个数组.

5.3.4 案例分析

我们将上⾯例⼦中的址传递⽅法jiaohuan1替换成下⾯的⽅法
jiaohuan3,再来观察数组temp的值,发现两个值并没有发⽣交换

5.3.5 内存分析

6. 数组的排序

6.1. 选择排序(会)

 

6.2. 冒泡排序(会)

7. 数组的查询(会)

数组查询, 即查询数组中的元素出现的下标。

7.1. 顺序查询

7.2. ⼆分查询

 

8. 可变⻓参数(了解)

8.1. 概念

可以接收多个类型相同的实参,个数不限,使⽤⽅式与数组相同。
在调⽤⽅法的时候, 实参的数量可以写任意多个。

作⽤:简化代码,简化操作等

8.2. 语法

 

9. ⼆维数组(了解)

9.1. 概念

9.2. 定义与使⽤

 

10. Arrays⼯具类(会)

10.1. 常⽤⽅法

10.2. 示例代码

 

 

 

 

 

 

 

相关文章:

  • Android卷笔试题目总结
  • 大模型架构记录 【综述-文字版】
  • WPS排版如何一张纸显示四张纸的内容?
  • 解析DeepSeek的技术内核:混合专家架构如何重塑AI效能
  • 区块链交易所平台开发全解析
  • Systemd 是 Linux 系统的 ‌核心服务管理工具‌,负责管理系统的启动、服务生命周期和资源分配
  • 避雷 :C语言中 scanf() 函数的错误❌使用!!!
  • 高德终端技术总结:高可用架构如何练成?
  • 【MySQL】MySQL如何存储元数据?
  • Vue.js 表单开发
  • 使用python numpy计算并显示音频数据的频谱信息
  • jieba中文分词模块,详细使用教程
  • Dart语言的安全开发
  • 小程序多语言
  • 机器学习之数据收集
  • 数据库——MySQL安装
  • Android:蓝牙设置配套设备配对
  • 2025年2月-3月后端go开发找工作感悟
  • Debezium介绍
  • DeepSORT 目标追踪算法详解
  • 古埃及展进入百天倒计时,闭幕前168小时不闭馆
  • 雇来的“妈妈”:为入狱雇主无偿带娃4年,没做好准备说再见
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 魔都眼|上海多家商场打开绿色通道,助力外贸出口商品转内销
  • 有人悬赏十万寻找“全国仅剩1只”的斑鳖,发帖者回应并证实
  • 马上评|从一个细节看今年五一档电影