上期回顾:
数组:
1.数组的概念:存储同一种数据类型的多个数据,它们在内存空间上是连续的。
2.数组的特点: 定长、数据类型一致、连续的内存空间、数组是引用数据类型,存储堆栈的应用地址。
3.数组的使用:1.声明创建数组 2.通过数组名[index]存储、获取数据
4.声明、创建、访问数组的语法
5.数组的内存图:
6.数组的遍历:for、for each循环
7.数组中存储的数据类型默认值
8.数组组合方法的使用
9.数组的排序:1.冒泡排序 2.选择排序 3.Arrays工具类
10.可变参数
本期内容:
2.1 数组的排序
1、冒泡排序:
比较相邻的两个数,较大的那个数据向后移动,长度减1.
public static void bubbleSort(String[] args){
int[] arr = {12,23,17,22,10};
for(int i = 1; i < arr.length; i++){//控制轮数
for(int j = 0; j < arr.length - 1; j++){
if(arr[j] < arr[j + 1]){
int temp = arr[j];//交换
arr[j] = arr[j +1];
arr[j +1] = temp;
}
}
}
for(int e : arr){//打印结果
System.out.print(e + " ");
}
}
2.选择排序:
每个找个基准值,声明一个变量k表示比较小的值的下标,每一轮比较完,都在基准值上方一个比较小的数
//核心代码:
int[] a = {15,23,8,10,7};
for(int i= 0;i <a.length - 1;i++){//控制轮数,趟数
int k = i;
for(int j = k + 1;j<a.length;j++){
if(arr[k] > arr[j]){
k = j;
}
}
//交换
if(k != i){
int temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
3.工具类:Arrays
int[] a = {15,23,8,10,7};
Arrays.sort(a);//给数组a排序
JDK提供好的类
A:Scanner,读取键盘
B:String,字符串
C:Math,数学的
D:Arrays,提供数组的常规操作的
E:System,
2.2数组的复制:
方法一:通过循环,依次复制,将原数组的数据,一个一个,复制到目标数组中
方法二:Arrays类里方法:copyOf(原数组,新数组的长度)-->返回值是新数组
方法三:System类里的方法:arraycopy(原数组,原数组位置,新数组,新数组位置,拷贝的个数)
//1.数组的复制(一)
int[] a = {1,2,3,4,5};
int[] e =new int[5];
for(int i = 0; i < a.length; i++){
e[i] = a[i];
System.out.print(e[i] + " ");
}
System.out.println();
//2.数组的复制(二)
int[] b = Arrays.copyOf(a,5);
for(int f : b){
System.out.print(f + " ");
}
System.out.println();
//3.数组的复制(三)
int[] c = new int[5];
System.arraycopy(a, 0, c, 0, 5);
for(int d : c){
System.out.print(d + " ");
}
System.out.println()
内存图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vk4Vva3i-1585408050384)(C:\Users\徐嘟嘟\AppData\Roaming\Typora\typora-user-images\image-20200328195114574.png)]
2.3 二维数组
维度:dimension
数组:存储相同类型的一组数据。
一维数组:数组中存储的就是数据了。
二维数组:存储的是一维数组。本质也叫数组的数组。也被称为矩阵:行和列的。(简单理解,数组里边儿还存着数组)
内存图:
.3 二维数组
维度:dimension
数组:存储相同类型的一组数据。
一维数组:数组中存储的就是数据了。
二维数组:存储的是一维数组。本质也叫数组的数组。也被称为矩阵:行和列的。(简单理解,数组里边儿还存着数组)
内存图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0sRdkzp9-1585408050386)(C:\Users\徐嘟嘟\AppData\Roaming\Typora\typora-user-images\image-20200328195249543.png)]