数组
为什么需要数组
数组是一个变量 ,存储相同数据类型的一组数据
声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 |
什么是数组
数组的基本要素
标识符
数组元素
元素下标:从0开始
元素类型
数组长度固定不变,避免数组越界 |
如何使用数组
声明数组 int [] a;或则 int a [];
告诉计算机数据的类型 声明数组时不能规定长度
分配空间 a=new int[4];
告诉计算机分配几个连续的空间
元素类型不同 初识值不同
赋值 a[0]=8;
边声名边赋值
Int [] scores={1111};
不能指定数组长度
动态地 从键盘录入信息并赋值
Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
scores[i] = input.nextInt();
}
处理数据 a[0]=a[0]*19;
int [ ] scores = {60, 80, 90, 70, 85};
double avg;
avg = (scores[0] + scores[1] + scores[2] + scores[3] + scores[4])/5;
二维数组
冒泡排序
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来
基本步骤
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
实现核心代码
for (int i = 0; i < nums.length - 1; i++) {
for (int j = 0; j < nums.length - i - 1; j++) {
if (nums[j] < nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
Arrays 类
Java.util包提供的工具类
-
- Arrays类提供操作数组的方法,如:排序、查询
- Arrays类的sort()方法: 对数组进行升序排列
二维数组实际上一个以一维数组作为元素的一维数组
一维数组