Java数组


  1. 定义:若干个相同类型,有先后次序的数据集合。
  2. 里面的元素可以通过下标[0,a.length-1]访问
  3. 声明数组变量:

(1) Int[] a;(首选,Java提倡这种,参考main方法中的String[] args

(2) Int a[];(这是为了让C语言程序员能够快速掌握Java

  1. 创建数组:int[] a = new int[8](此处包含默认初始化);
  2. 初始化:

(1) 静态初始化:int[] a = {1,2,3,4,5,6};(大小不可以改变)

(2) 动态初始化:a[2] = 10;(大小也不可以改变)

  1. 获取数组长度:a.length是确定的
  2. 长度确定,一旦被创建,大小不可改变
  3. 当数组容量不够时,不能就地扩充容量,解决办法是动态申请一个更大容量的数组并进行数组元素复制
  4. 数组中的元素可以是基本类型,也可以是引用类型
  5. 数组本身就是对象,Java中对象是放在堆中的
  6. IDEA中,假设定义了一个int数组a,那么使用a.for可以快速遍历a数组for (int i : a) { }
  7. 数组当做参数或者返回值,只需声明即可,需要在方法体内创建空间用于存储
  8. 多维数组只要掌握二维数组即可,二维数组就是数组元素是一维数组的数组,每一行都是分散存储的,因此,各行占用存储空间容量可不相同,需要多次申请
  9. 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     }

相关