Java数组
1.什么是数组
数组是相同类型数据的有序集合。
通过下标来访问它们。下标从0开始
2.数组的说明和创建
变量的名字 = 变量的值
int[] nums;//1.s声明一个数组
news = new int[10];//2.创建一个数组
//3.数组元素中赋值
nums[0]=1;
nums[1]=2;
...
//获取数组长度:arrays.length
3.内存分析
静态初始化:创建+赋值
int [] a={1,2,3,4};
动态初始化:包含默认初始化
int[] b = new int[10];
b[0] = 10;
数组的四个基本特点:
-
数组一旦被创建,就不能被改变
-
其元素必须是相同类型,不允许出现混合类型
-
数组中的元素可以是任何数据类型,包括基本类型和引用类型
-
数组变量属于引用类型,数组可以看成对象。Java中数组是在堆中
4.数组使用
int[] arrays = {1,2,3,4,5};
//打印所有元素
for(int i =1;i<arrays.length;i++){
System.out.println(araays[i]);
}
//计算和
int sum =0;
for(int i =1;i<arrays.length;i++){
sum+=arrays[i];
System.out.println(sum);
}
//for-each
for(int array:arrays){
System.out.println(array);
}
//反转数组
public static int[] reverse(int[] arrays){
int[] result=new int[arrays.length];
for(int i,j=result.length-1;i<arrays.length;i++,j--){
result[j]=arrays[i];
}
return result;
}
int[] reverse=reverse(arrays);
printArray(reverse);
5.多维数组
二维数组
int[][] array = {{1,2},{2,3},{3,4}}
/*
1,2 array[0]
2,3 array[1]
3,4 array[3]
*/
6.冒泡排序
//1.比较数组中,相邻元素,第一个比第二个打,交换顺序
//2.每次比较都会产生一个最大,或者最小的数字
//3.下一轮可以少一次排序
//4.依次循环,直到结束
public static void sort(int[] array){
//最外层循环
for(int i = 0;i<array.length-1;i++){
for(int j =0;j<array.length-1-i;j++){
if(array[j+1]>array[j]){
temp =array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
时间复杂度:o(n2)
7.稀疏数组
当一个数组中大部分元素为0,或为同一个值的数组,可以用稀疏数组来保存数组。
行 列 值
//1.创建一个二维数组 11*11
int[] array1 = new int[11][11];
array1[1][2] =1;
array1[2][3] =2;
for(int[] ints:array){
for(int anInt:int){
System.out.println(anInt +"\t);
}
}

浙公网安备 33010602011771号