第四章结束今天讲了数组的两个排序
冒泡和选择
找到相应元素的索引
二维数组:在内存中分配
image.png
数据类型 变量名;
int a;
int a = 10;
数组
1.为什么要有数组?
所有学生的学号 String
String stuId1
String stuId2
String stuId3
String stuId4
有大量相同类型元素需要处理----数组----集合(List、Set、Map)
2.概念
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器
1)既可以存放基本数据类型元素,也可以存放引用数据类型元素
2)数组本身是引用数据类型
3)初始化之后长度不可改变
3.数组的定义
数据类型[] 数组名;
数据类型 数组名[];
4.数组的初始化
1)静态初始化---初始化时指定每个数组元素的初始值,由系统决定数组长度
int[] arr = new int[]{1, 2, 3};
int[] arr = {1, 2, 3};
2)动态初始化---初始化时只指定数组长度,由系统为数组分配初始值
int[] arr = new int[5];
动态初始化,系统为每个元素指定初始值
基本数据类型
|-byte 0
|-short 0
|-int 0
|-long 0
|-double 0.0
|-float 0.0
|-boolean false
|-char 0
引用数据类型----null //面向对象---面向过程
|-String null
3)数组的长度---数组名.length;
4)访问数组中的元素
数组名[下标]
下标的范围 0~数组的长度-1
5.常见问题
ArrayIndexOutOfBoundsException--下标越界异常
NullPointerException--空指针异常
6.数组常见操作
1)遍历
2)求最值
3)逆序
4)选择排序
|---选定一个元素和其后的元素进行比较
|---每一轮比较完成都会选出最大或最小的元素
5)冒泡排序
|---相邻元素两两进行比较
|---如果数组已经排好序,如何减少比较次数
7.数组一旦初始化,长度不可改变
栈----
|----基本数据类型变量
|----引用---生成对象时,赋值左侧的内容
堆----
|----对象,数组---通过new生成的区域
GC----垃圾回收
8.调试
单步调试
断点
9.直接打印数组
在内存中的地址
10.二维数组
二维数组就是一维数组,一维数组中的每个元素还是一个一位数组
定义
遍历
网友评论