关于数组:
- 创建数组前必须告知JVM该数组存储数据的数量,该数量决定了内存空间的分配(只能记录一组相同的数据)
- 访问写入的数组,必须要知道数据写入的位置,数据存储在数组中的位置和索引,索引根据数据写入的顺序从0开始分配
数组中存储的每一个变量称为元素
数组也是数据类型,每个数组都有一个数组名(变量名)每一个元素都有默认值
数组的缺点:
数组在创建完毕后,(长度)数组的数量不可变
数组的创建:
- String[ ] array;
String[ ] array = new String[5]; - int[ ] array = new int[ ]{1,2,3,4,5};
- int[ ] array = {1,2,3,4,5}; //一般不用
属性:
获取数组的元素数量
int length = array.length;
**
数组的长度与字符串的长度球的方法的去区别: 数组的长度是 数组名.length 字符串的长度是 字符串名.length()**
访问数组元素:
String value = array[10]
10是在数组中的第11个元素,因为数组也是从0开始索引的
数组排序算法:
A:选择排序法
这里一共是5个元素,一共是四个轮次,所以是元素数量减去一,因为每一次自己不用跟自己进行比较
嵌套循环中,次数是元素数减轮数再减去1
在嵌套的循环中对数据进行判断,不符合则调换顺序
每次红色圈圈是下一次进行比较的两个数,蓝色是每一轮下来之后,固定的值
B:冒泡排序法
冒泡每一次都将前一位数和后一位数进行比较,如果不满足条件则交换两数,与选择排序不同的是,两个数在数组中的索引值不同,选择排序是两个数的索引值一个是轮数中的索引值,一个是次数中的索引值,而冒泡排序中,两个数的索引值都是次数中的索引值,是加1和不加1的关系,红色依旧是要进行比较的两个数
蓝色依旧是已经固定下来的数。
选择排序和冒泡排序的一点小区别:
选择排序是从前往后固定数值的,而冒泡是从后往前固定值的