[豪の学习笔记] JavaReStudy#05
数组、排序和查找
1 - 数组
数组可以存放多个同一类型的数据,数组也是一种数据类型(引用类型
数组的定义
1.第一种动态分配方式
数据类型 数组名[] = new 数据类型[大小]
int num[] = new int[5]; // 创建了一个名为num的数组,存放5个int
2.第二种动态分配方式
先声明数组,再分配空间
double scores[]; // 声明数组,此时scores是null
scores = new double[5]; // 分配内存空间,可以存放数据
数组使用注意事项和细节
数组是多个相同类型数据的组合,实现对这些数据的统一管理
数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用
数组创建后若未赋值,有默认值
数组下标必须在指定范围内使用,否则报:下标越界异常
数组属引用类型,数组型数据是对象(object)
数组赋值机制
基本数据类型赋值,这个值就是具体的数据且相互不影响
数组在默认情况下是引用传递,赋值是地址
2 - 排序
内部排序
指将需要处理的所有数据都加载到内部存储器中进行排序,包括交换式排序法、选择式排序法、插入式排序法
外部排序法
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,包括合并排序法和直接合并排序法
3 - 查找
顺序查找、二分查找
4 - 二维数组
二维数组的定义
1.第一种动态初始化
类型[][] 数组名 = new 类型[大小][大小]
int num[][] = new int[2][3];
2.第二种动态初始化
先声明,再定义
int arr[][];
arr = new int[2][3];
3.第三种动态初始化
列数不确定
int[][] arr = new int[3][];
单独给每一个一维数组开空间,如果没有则arr[i]为null
4.静态初始化
定义 类型 数组名[][] = {{值1,值2...},{值1,值2...},{值1,值2...}}
二维数组使用细节和注意事项
二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不同
二维数组arr的arr[i].length得到的是对应每个一维数组的长度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!