zoukankan      html  css  js  c++  java
  • 数组

    数组是存储数据的容器,长度固定,且只能存储相同类型的数据

       既可以存储基本类型数据,又可以存储引用类型数据

    数组的定义

    1.动态初始化

     在定义数组时只指定数组的长度,由系统自动为元素赋初值,不同类型的元素有不同的默认值

     格式:

     数据类型[]  数组名 = new 数据类型[n];  //n指数组的长度

    2.静态初始化

    在定义数组的同时就为数组的每个元素赋值。数组的静态初始化有两种方式,具体格式如下:

    1、类型[] 数组名 = new 类型[]{元素,元素,……};

    2、类型[] 数组名 = {元素,元素,元素,……};

    注意第一种方式中括号里不能写数组的长度,否则会编译失败,因为编译器认为你写的数字可能和后面元素的个数不符,存在安全隐患

    小结:

    1.定义数组后,数组元素就都有了默认值,根据存储元素的类型不同,默认值不同(如int类型的数组,默认值为0)

    2.数组长度可以由length属性获得

    3.数组通过索引来访问数组元素,索引从0 开始,最大的索引是 n-1

    4.arr保存的是数组的首地址

    5.int[] arr 与int arr[] 这两种写法都是可以的,Java一般采用第一种写法,C语言一般采用第二种写法

    如何判断数组为空?

    arr.length==0时,数组为空,[]

    切记不可用arr==null来判断,因为arr是个变量,它存储的是数组的引用,绝不是null。

    若是arr=null,则调用数组时会出现空指针异常

    二维数组

    二维数组在内存中仍然是一维数组。

     

    定义格式

    格式1:

      数据类型[][] 数组名 = new 数据类型[m][n];

       m: 代表二维数组中一维数组的个数

       n: 代表每个一维数组中元素的个数

    格式2:

      数据类型[][] 数组名 = new 数据类型[m][];

      m: 代表二维数组中一维数组的个数

      每一个一维数组通过赋值来确定数组长度

      以这种格式定义的二维数组如int[][] arr = new int[3][]; 是不能直接使用的,必须再初始化二维数组里面的一维数组如 arr[0] = new int[5]; arr[1] = new int[4];

    格式3:

      数据类型[][] 数组名 = {{元素值1,元素值2,..},{元素值1,元素值2,..},..};如  

    int[][] arr = { {1,4} ,{3,6,8}, {0,9,8} };

    每个一维数组的长度可以不一样。

      

    二维数组的内存

    int[][]  arr = new  int[3][2]; 

    [3]:二维数组中,有3个一维数组

    [2]:三个一维数组中,每个数组的长度为2

    运行程序时在堆内开辟的空间图为

      

  • 相关阅读:
    23、Linux实操篇——RPM与YUM
    22、Linux实操篇——进程管理(重点)
    21、Linux实操篇——网络配置
    20、Linux实操篇——磁盘分区、挂载
    19、Linux实操篇——组管理和权限管理
    18、实操篇——实用指令
    17、实操篇——用户管理
    UVALive 2521 Game Prediction 题解
    UVALive 2517 Moving Object Recognition(模拟)
    UVALive 2324 Human Gene Functions(动态规划)
  • 原文地址:https://www.cnblogs.com/shizunatsu/p/11534618.html
Copyright © 2011-2022 走看看