java数组介绍与运用

数组

  1. 基本概念及作用

    数组是一种线性数据结构

    数组是相同数据类型元素的集合

    数组本身是引用数据类型,即对象.但是数组可以存储基本数据类型,也可以存储引用数据类型.

  2. 声明格式

    数组的声明的两种方式:

    1. 数据类型[] 数组名字

      例如:int [] a;

    2. 数据类型 数组的名字 []

      例如: int a [];

    注意:在Java语言中声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型.

  3. 数组的创建

    java中数组在创建时,必须要为其定义长度,长度定义后就不能修改
    数组在内存中是一个连续的空间,为其中每个存储空间初始化值

    1. int [] ary0 = new int[10];//动态创建数组(没有为元素赋值,可以结合for循环进行赋值)
    2. int [] ary1 = new int[]{1,2,3,4,5};//静态创建数组,在创建的时候,即为每个元素赋初值.
    3. int [] ary2 = {1,2,3,4,5};//与前一种方式相同,仅仅只是语法相对简略

    数组各个数据类型的默认值:

    int [] a = new int[10]; //默认0
    float [] f = new float[10];//默认0.0
    String [] f = new String[10];//默认null

    char [] f = new char[10];//默认空格

    System.out.println(a);//[[email protected] 对象的hashCode值 public native int hashCode();
    //System.out.println(Arrays.toString(f));//将对象以字符串的形式输出

    数组中如果存储的是基本类型,存储的是具体的值

    如果存储的是引用类(类类型),会存储对象的引用

    数组的长度:length属性

    int [] b1 new int []{1,2,3,4,5,6,7};

    System.out.println(b1.length);

  4. 数组访问

    数组元素的访问:

    数组名字[索引] 例如: a[0],a[1];

    注意:

    1. 数组的索引从0开始
    2. 索引的数据类型是整型
    3. 索引最大值和数组长度始终差1

    注意使用合法的索引访问,否则会程序终止,抛出异常

    int [] a = new int[5];
    System.out.println(Arrays.toString(a));
    byte b = 10;
    a[0] = b;
    a[1] = 5;
    a[2] = 1;
    a[3] = 2;
    a[4] = 3;
    System.out.println(a.length);
    /* a[5] = 3;
    运行时才会出现的异常
    数组越界
    * Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5
    at com.ff.java.array.ArrayDemo2.main(ArrayDemo2.java:17) 位置

  5. 数组的迭代

    1. for循环

      int [] b1 = new int []{1,2,3,4,5,6,7};

      数组的迭代

      for(int i = 0; i<b1.length;i++){

      ​ System.out.println(b1[i]);

      }

    2. 增强for循环(foreach)

      int [] b1 = new int []{1,2,3,4,5,6,7};

      for(数组元素类型 临时变量名字 : 数组的名字){

      ​ System.out.println(临时变量名字);// 每循环一次从数组中取出一个元素赋给前面声明的变量,知道数组中所有的元素遍历完,循环终止

      }

      即:

      for(int x : b1){

      ​ System.out.println(x);

      }

  6. 二维数组

    1. 概念

      数组的数字–二维数组的每个元素是一个一维数组.

      例如:int [][]a = {{1,2,3},{1,2,3},{1,2,3}};

    2. 声明

      int [] [] a;

      int a [] [];

      注意:建议用第一种,不容易混淆a的数据类型.

    3. 创建

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

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

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

      int[] [] arr = new int [3] [5];//定义了一个整型的二维数组,这个二维数组有3个一维数组,每一个一维数组包含5个元素.

    4. 二维数组的迭代

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

      for(int i =0;i<b1.length;i++){//每次负责从二维数组中取出一个一维数组

      ​ for(int j =0;j<b1[i].length;j++){//负责对取出的一维数组进行遍历

      System.out.print(b1[i][j]);

      ​ }

      System.out.println();

      ​ }

      java数组介绍与运用