java基础(5)数组

时间:2023-02-16 17:55:56

1.数组的作用和类型

1.1作用

  存储相同数据类型的一组数据

  对同类型数据集中存储管理、便于遍历

1.2数据类型

  数组的类型就是数组中存储的数据的类型

要点:

  数组中的所有元素必须属于相同的数据类型

  数组中所有元素在内存中连续存储

特点:

  数组本身也是一种应用类型

  数组名只是引用,指向堆中创建的数组对象,该对象保存一组其它引用或直接值

2. 数组的声明、创建

2.1.数组的声明

   告诉系统数据类型是什么

  语法:数据类型 [ ] 数组名;

2.2.数组的创建

  为数组分配内存空间(new操作符)

2.3.声明并创建数组

  数据类型[ ] 数组名 = new 数据类型[ 数组大小]

  例:int []  num = new  int  [5];

  当你创建数组时,一定要确定数组大小。 

数组特点

  数组有一个属性length,表示此数组对象可以存储多少元素即数组长度;length不是实际保存的元素个数

  “[ ]”中括号是访问数组队形成员的唯一方式,例:num[0];0代表数组的下标,

  对象数组保存的是引用,基本类型数组直接保存基本类型的值

  新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型自动初始化为0,字符型为0;布尔型为false)。

3.初始化数组

  3.1.数组的初始化

  为数组中的成员一一赋值

  3.2 数组赋值的两种方式

    方法1:边声明边赋值(静态初始化)

    int [] score = { 1,2,3};

    int [] score= new int [] {1,2,3};

    元素与元素之间用逗号隔开;

    方法2:动态地获取(从键盘录入)信息并赋值

      Scanner sc=new Scanner(System.in);

      for(int i=0;i<3;i++){

      System.out.println("请输入");

      score[i]=sc.next();

      }

4.常用的数组排序算法

4.1 冒泡排序法

  工作原理:它是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。重复地进行直到没有再需要交换,知道该数列已经排序完成。

例:

java基础(5)数组

控制台:9,8,7,6,5,4,3,2,1,0

4.2 选择排序法

工作原理:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

java基础(5)数组

控制台:0,1,2,3,4,5,6,7,8,9

4.3 插入排序法

工作原理:它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

java基础(5)数组

控制台:0,1,2,3,4,5,6,7,8,9

5.二维数组的声明、创建

二维数组可以看成以数组为元素的数组

java中二维数组的声明和初始化应按照从高维到低维的顺序进行

例:int [][] arr1=new int [3][];

  int [][] arr2 =new int [3][5] ;

虽然这两个数组的创建有区别,但系统为他们分配的堆内存空间大小是一样的

对于任何数据类型的二维数组来说,第一维的大小决定了二维数组对象的大小,因为二维数组的成员是数组引用,数组引用本身大小是固定的

5.1.初始化二维数组

例:int [][] arr={{1,2,3},{4,5},{2,3,5}};

二维数组arr,包含了3个低维数组,所以它高维为3;

取值:例:arr[0][0]=1;

     arr[1][1]=5;