java知识学习12-数组

数组:是一种用于存储多个相同类型数据的存储类型

  格式:

    1、数据类型[] 变量名 (如int[] arr);-- 定义了一个int类型的数组,数组名是arr  # 推荐使用该格式

    2、数据类型 变量名[] (int arr[]); -- 定义了一个int类型的变量,变量名是arr数组

  数组初始化:Java数组必须先初始化,才能使用。即:为数组中的元素分配内存空间,并为每个数组元素赋值

    & 动态初始化:初始化时只指定数组长度,由系统为数组分配初始值

      格式:数据类型[] 变量名 = new 数据类型[数组长度];(如:int[] arr = new int[6];)

      

    & 静态初始化:初始化时指定数组每个元素的初始值,由系统指定数组长度(定义时[]中不能指明数组长度)

      格式:数据类型[] 变量名 = new 数据类型[] {数据1,数据2,数据3,......}; (如:int[] arr = new int[1,2,3];)

      简化格式(推荐方式):数据类型[] 变量名 = {数据1,数据2,数据3,......};(如:int[] arr = {1,2,3};)

  数组元素访问:数组名[索引],如int[0]、int[1]

    

  内存分配:Java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。 

     单个数组内存分配:通过new关键字开辟内存空间

      

    多个数组内存分配:

      

     多个数组指向相同内存图:当其中一个数组的元素值发生改变后,其他数组的也是发生同样改变。因为它们指向相同内存数组地址

       

   数组常见操作:遍历、获取最大值

    遍历:可通过for循环进行遍历数组取值

     for (int i=0; i<arr.length; i++){System.out.println(arr[i])};

    获取最大值:

        或  

 

  

注:

  索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题;(ArrayIndexOutOfBoundsExcetion)

  空指针异常:访问的数组为null,已不再指向堆内存的数据,造成空指针异常; (NullPointerException)

原文地址:https://www.cnblogs.com/blogofzxf/p/13278011.html