一、数组(相同类型数据的容器、一个和一个数据顺序排序)
1.格式
格式 1.
数据类型[] 数组名称 = new 数据类型[数组长度];
数组长度为int类型的
int[] ages2 = new int [10];
ages2[0] = 100;
System.out.println(ages2[0]);
格式 2.
数据类型[] 数组名称 = {数组内容 1,数组内容 2,数组内容 3...数组内容 n};
创建数组的同时指定数组内容
int[] ages1 = {10,11,12,13,14};
格式 3.
数据类型[] 数组名;
格式 3 属于只创建了数组引用名, 并未在内存创建数组空间。
int[] nums;
nums = new int[10];(之后只能先初始化再赋值)
格式 4.
数据类型[] 数组名称 = new 数据类型[]{内容 1,内容 2,内容 3...内容 n};
int[] ages3 = new int [10]{1,2,3,4};
2.数组操作
2.1获取数组长度:
数组名.length
利用数组长度遍历数组(for循环)
2.2数组下标越界问题、空指针问题(数组下标名称指向的内存不存在,即指针没有绑定内存)
2.3寻找数组中的最大值或最小值(n=num[0] n与数组的遍历的值进行比较并合理赋值)
2.4冒泡排序
原理:
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的 元素应该会是最大的
数。
-
针对所有的元素重复以上的步骤,除了最后一个。
-
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
2.5二分查找
首先,假设数组中元素是按升序排列,将数组中间位置的数据与查找数据比较,如果两者相等 则查找成功;否则利用
中间位置记录将数组分成前、后两个子数组,如果中间位置数据大于 查找数据,则进一步查找前子数组,否则进一步查
找后子数组。
重复以上过程,直到找到满足条件的数据,则表示查找成功,
直到子数组不存在为止,表示查找不成功。
3.多维数组(中国-省份-县-村)
int [][] 二维数组名 = new int[长度][];
nums[0] = new int[] = {0,1,2};
数组中再次存储数组