Java数组总结

1.数组的基本概念

数组:相同类型元素的集合,在内存中是一块连续的空间。 

1. 数组中存放的元素类型相同

2. 数组的空间是连在一起的

3. 每个空间都有自己的编号,起始位置的编号为0

2.数组的创建及初始化

以整形数组为例:

1. 动态初始化:在创建数组时,直接指定数组中元素的个数

2. 静态初始化:在创建数组时不直接指定数组元素个数,直接将具体的数组内容进行指定  

  • 静态初始化,编译器在编译时会根据{ } 中元素的个数来确定数组的长度
  • 静态初始化时,{ } 中数据类型必须与[ ]前数据类型一致
  • 静态初始化可以简写,省略new int[ ]

 3. 静态和动态初始化可以分为两步

4. 没有对数组初始化,数组中元素有其默认值

  • 数组中数据类型为基本数据类型,默认值为基本数据类型对应的默认值 
  • 数组中数据类型为引用类型,默认值为null

 3.数组的使用

1.数组中元素的访问

数组是一块连续的空间,支持随机访问,通过下标可以快速访问数组中任意位置的元素。

下标从0开始,介于[0,n)之间不包含n,不能越界访问

2.数组的遍历

  • for循环遍历

  • for-each遍历 

4.数组的应用场景

    数组是引用类型,创建的变量称为引用变量,存储的是所引用对象所在堆空间中的起始地址。通过该地址,引用变量便可以去操作对象。

   null在Java中表示空引用,说明是一个不指向对象的引用

1.数组作为函数参数

数组是引用类型,按照引用类型来进行传递,可以修改其中存放的内容。数组作为参数进行传递,可以避免对整个数组的拷贝。

2.数组作为函数的返回值,返回的是整个数组

5.操作数组的工具类Arrays

Java 中提供了 java.util.Arrays 包, 其中包含了一些操作数组的常用方法

  • 数组转字符串   Arrays.toString( )
  • 数组拷贝  Arrays.copyOf(数组名,拷贝的长度) ---- 支持扩容(int)

      Arrays.copyofRange(数组名,拷贝的起始位置,拷贝的结束位置)  

      int[ ]  copy = new int[array.length]      System.arraycopy(拷贝的源数组,从源数组的哪个位置开始拷贝,拷贝到目标数组,目标数组的哪个位置开始拷贝,拷贝的长度)

  • 数组排序  Arrays.sort( ) 
  • 二分查找  Arrays.binarySearch(数组名,查找元素) -- 返回下标
  • 数组克隆  int[ ] 目标数组 = 源数组.clone( ) 
  • 数组相等  boolean ret = Arrays.equals(array1,ayyay2)
  • 数组填充  Arrays.fill(数组名,val) ----- 支持部分填充

6.二维数组

创建与初始化和一维数组类似,和C语言不同的是初始化时列可以省略

不会则二维数组初始化:

int[ ][ ] array = new int[2][ ];

 array[0] = new int[3];   array[1] = new int[4];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值