Java数组
- 定义:若干个相同类型,有先后次序的数据集合。
- 里面的元素可以通过下标[0,a.length-1]访问
- 声明数组变量:
(1) Int[] a;(首选,Java提倡这种,参考main方法中的String[] args)
(2) Int a[];(这是为了让C语言程序员能够快速掌握Java)
- 创建数组:int[] a = new int[8](此处包含默认初始化);
- 初始化:
(1) 静态初始化:int[] a = {1,2,3,4,5,6};(大小不可以改变)
(2) 动态初始化:a[2] = 10;(大小也不可以改变)
- 获取数组长度:a.length是确定的
- 长度确定,一旦被创建,大小不可改变
- 当数组容量不够时,不能就地扩充容量,解决办法是动态申请一个更大容量的数组并进行数组元素复制
- 数组中的元素可以是基本类型,也可以是引用类型
- 数组本身就是对象,Java中对象是放在堆中的
- IDEA中,假设定义了一个int数组a,那么使用a.for可以快速遍历a数组for (int i : a) { }
- 数组当做参数或者返回值,只需声明即可,需要在方法体内创建空间用于存储
- 多维数组只要掌握二维数组即可,二维数组就是数组元素是一维数组的数组,每一行都是分散存储的,因此,各行占用存储空间容量可不相同,需要多次申请
- Arrays是可以对数组进行操作的类
(1) 里面的方法是用static 修饰的,可以直接使用类名进行调用
(2) 输出数组的字符串表示:System.out.println(Arrays.toString(a));
(3) 对数组进行排序:Arrays.sort(a);
(4) 对数组进行填充:Arrays.fill(a,0);将a数组的所有内容都变成0
(5) 帮助文档,自行查看https://docs.oracle.com/javase/8/docs/api/
冒泡排序算法:
1 public static void sort(int[] a){ //升序,从右边起开始比较,将最小的排到最左边,降序只需将if里的变成> 2 int p=0; 3 int n = a.length; 4 for (int i = 0; i < n-1; i++) { 5 for (int j = n-1;j>i;j--) { 6 if (a[j]]){ 7 p = a[j]; 8 a[j] = a[j-1]; 9 a[j-1] = p; 10 } 11 } 12 } 13 } 14 public static void sortt(int[] a){ //升序,从左边起开始比较,将最大的排到最又边,降序只需将if里的变成< 15 int p=0; 16 int n = a.length; 17 for (int i = 0; i < n-1; i++) { 18 for (int j = 0;j) { 19 if (a[j]>a[j+1]){ 20 p = a[j]; 21 a[j] = a[j+1]; 22 a[j+1] = p; 23 } 24 } 25 } 26 }