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;

image-20210724134747949

数组的四个基本特点:

  1. 数组一旦被创建,就不能被改变

  2. 其元素必须是相同类型,不允许出现混合类型

  3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型

  4. 数组变量属于引用类型,数组可以看成对象。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);
                         
  }
                         
}

 

posted @ 2021-07-25 16:04  清钦  阅读(237)  评论(0)    收藏  举报