• 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)

  • 相关阅读:
    【Foreign】数数 [打表][DP]
    【Foreign】猜测 [费用流]
    【Foreign】最大割 [线性基]
    【Foreign】开锁 [概率DP]
    【Foreign】染色 [LCT][线段树]
    【Foreign】阅读 [线段树][DP]
    【Foreign】字符串匹配 [KMP]
    【Foreign】冒泡排序 [暴力]
    【BZOJ1976】能量魔方 [最小割]
    【Foreign】树 [prufer编码][DP]
  • 原文地址:https://www.cnblogs.com/blogofzxf/p/13278011.html
Copyright © 2020-2023  润新知