数组

类型一致的一组数据,相当于集合概念,在软件中解决一组,一堆XX数据时候使用数组。

  1. 数组变量:是引用类型变量(不是基本变量)引用变量通过数组的内存地址位置引用了一个数组(数组对象),即栓到数组对象的绳子。
    eg:数组变量的赋值

    int[] ary = new int[3];// ary----->{0,0,0}<----ary1
    int[] ary1 = ary;// ary 的地址赋值给ary1,ary 与 ary1 绑定了同一个数组
    //ary[1] 与 ary1[1] 是同一个元素,数组变量不是数组(数组对象)
  2. 数组(数组对象)有3种创建(初始化)方式:①new int[10000] 给元素数量,适合不知道具体元素,或元素数量较多时 ②new
    int[]{3,4,5} 不需要给出数量,直接初始化具体元素适合知道数组的元素。③ {2,3,4}
    静态初始化,是②简化版,只能用在声明数组变量的时候直接初始化,不能用于赋值等情况。

    eg:数组初始化

    int[] ary1 = new int[]{2,3,4};//创建数组时候直接初始化元素
    int[] ary2 = {2,3,4};//数组静态初始化,只能在声明变量的同时直接赋值
    //ary2 = {4,5,6};//编译错误,不能用于赋值等情况
    ary2 = new int[]{4,5,6};
  3. 数组元素的访问:①数组长度:长度使用属性访问,ary.length 获取数组下标。②数组下标:范围:0 ~
    length-1就是[0,length),超范围访问会出现下标越界异常。③使用[index]
    访问数组元素:ary[2]。④迭代(遍历):就是将数组元素逐一处理一遍的方法。

  4. 数组默认初始化值:根据数组类型的不同,默认初始化值为:0(整数)、0.0(浮点数)、false(布尔类型)、\u0000(char字符类型,显示无效果,相当于空格,编码为0的字符,是控制字符,强转为int时显示0)、null(string类型,什么都没有,空值的意思)。
  5. 数组的复制:数组变量的赋值,是并不会复制数组对象,是两个变量引用了同一个数组对象。数组复制的本质是创建了新数组,将原数组的内容复制过来。
  6. 数组的扩容:创建新数组,新数组容量大于原数组,将原数组内容复制到新数组,并且丢弃原数组,简单说:就是更换更大的数组对象。System.arraycopy()
    用于复制数组内容,简化版的数组复制方法:Arrays.copyOf()方法,但需JKD1.5+。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小的数组在声明时需要指定数组的大小,并且元素的总数不应超过数组的大小。Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小的数组在声明时需要指定数组的大小,并且元素的总数不应超过数组的大小。而动态数组的大小在声明时没有预定义,随着元素的添加,数组的大小会发生变化,并且在运行时,数组的大小将被确定。Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小的数组在声明时需要指定数组的大小,并且元素的总数不应超过数组的大小。而动态数组的大小在声明时没有预定义,随着元素的添加,数组的大小会发生变化,并且在运行时,数组的大小将被确定。在Solidity中声明数组时,需要指定元素的数据类型和元素的数量。数组的大小必须是正整数并且数据类型应该是有效的Solidity类型。以下是一些Solidity数组的示例: 1. 固定大小的数组声明:uint myArray; 2. 固定大小的数组初始化:uint myArray = [1, 2, 3, 4, 5]; 3. 动态数组声明:uint[] myArray; 4. 动态数组初始化:uint[] myArray = [1, 2, 3]; 5. 动态数组添加元素:myArray.push(4); 6. 访问数组元素:myArray;

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值