数据结构 —— 数组

数据结构 —— 数组

    数组结构其实就是一排紧密相邻的可数内存,在编程中算是常见的结构,用于存储多个数据。每个数组元素存放一个数据,可通过数组元素的索引访问、赋值以及取出元素的值。

数组的声明通常包含以下属性:

1、起始地址:表示数组名所在内存中的起始地址。

2、维度:表示几维数组。(如一维数组、二维数组等)

3、索引上限和下限:是指元素在数组中内存所存储位置的上标和下标。

4、数组元素个数:是指索引上限与下限的差加一。

5、数组类型:指声明数组的类型,决定了数组元素在内存中所占用的大小。(如 int 类型)

数组的初始化:

    在 C 语言中,数组可以不进行初始化,但是值是不确定的。 而在 JAVA 中,数组必须先初始化,然后才可以使用。 那么就说说 JAVA 的数组初始化。数组的初始化方式有两种:
静态初始化:
    初始化时显示指定每个数组元素的初始值,由系统决定数组的长度。
    语法格式:
    1、type[] arrayName = new type[]{a1, a2, a3, ...};
        例:int[] arr1 = new int[]{1, 2, 3, 4, 5, 7, 8, 9};

    2、type arrayName = {a1, a2, a3, ...}
        例:int[] arr1 = {1, 2, 3, 4, 5, 7, 8, 9}
动态初始化:
    初始化时只需指定数组长度,由系统为元素分配初始值。
    语法给:
    type[] arrayName = new type[length];
        例:int[] arr1 = new int[5];

注:type 为变量类型,要与数组中元素的类型一致; 元素必须用花括号括起来,且元素与元素间用英文的逗号隔开。动态初始化需要一个 int 类型的 length 参数用来指定数组的长度;不可同时对相同数组进行静态初始化与动态初始化。

数组的使用:

     初始化数组后,就可以使用了。而我们对数组最常用的操作就是访问它了,对它进行赋值和取出。访问数组元素的方法就是在数组引用变量后紧跟一个方括号 [] , 方括号里是元素的索引值。例如: L[0]。 这样就可以把访问的数组元素当做一个普通的变量使用了。
     注意:如果访问时索引值 length 小于 0 或者 length 大于数组长度,就会产生异常。“Java.lang.ArrayIndexOutOfBoundsException:N” 意思就是数组索引越界。

一维数组:

一维数组声明:
    type[] ArrayName = new type[length];
    例:String[] ArrStr1 = new String[3];

    ArrStr1 包含 3 个元素,即 3 个连续内存的集合(ArrStr1[0], ArrStr1[1], ArrStr1[2]),可以看成是一条线。

二维数组:

二维数组声明:
    type[] [] ArrayName = new type[第一维长度] [第二维长度];
    例:int[] [] ArrStr2 = new int[3][3]; (3 为行; 3 为列)

    二维数组可以看作是一维数组的扩展,将二维数组转换为一维数组。以行列方式存储(像似一个平面图)
    ArrStr2 展开如下:

    ArrStr2(0,0), ArrStr2(0,1), ArrStr2(0,2)
    ArrStr2(1,0), ArrStr2(1,1), ArrStr2(1,2)
    ArrStr2(2,0), ArrStr2(2,1), ArrStr2(2,2)

N维数组声明方式:

    type [] [] ... [] ArrayName = new type [第一维长度] [第二维长度] ... [第 N 维长度];
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值