//声明数组
int[] a;
//创建数组
int[] a=new int[10];
//静态初始化 创建+赋值
int[] a={1,2,2,4,5,8}
//动态初始化 包含默认初始化
int[] a=new int[10];
a[0]=5;
//冒泡排序
public void maoPao() {
int[] a = {5, 8, 7, 9, 5};
int sum = 0;
for (int i = 0; i < a.length - 1; i++)//需要排序的次数
{
for (int j = 0; j < a.length - 1 - i; j++)//每排序一次,就减少一次
{
if (a[j] > a[j+ 1]) {
sum = a[j];
a[j] = a[j + 1];
a[j +1] = sum;
}
}
}
for (int k : a) {
System.out.print(k);
System.out.print("t");
}
}
数组的默认初始化
-
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也会被按照实例化变量同样的方式
被隐式初始化(相当于没有被初始化的都为0)
数组的特点
-
长度是确定的,一旦创建不可改变
-
其元素必须是相同类型,不允许混合类型
-
数组中的元素可以是任何数据类型,包括基本类型和引用类型
-
数组变量属于引用类型,java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型
数组对象本身都在堆中
int a[][]=new int[2][5];
int[][] a={{1,2},{3,4},{4,5}};
稀疏算法
int[][] a=new int[11][11];
a[1][0]=4;
a[2][3]=5;
a[7][8]=6;
a[0][3]=7;
int sum=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if(a[i][j]!=0){
sum++;
if(sum==1) {
System.out.println("i " + "j " + "val");
}
System.out.println(i+" "+j+" "+a[i][j]);
}
}
}
Arrays类
包含数组中的各种方法(排序,搜素等)
int[] a={1,8,2,5,6};
//打印数组元素Arrays.toString()
System.out.print(Arrays.toString(a))
//排序Arrays.sort(a);
System.out.print(Arrays.sort(a))


