【Java基础03_数组】

数组的定义

用来存储相同数据类型的有序集合。索引 下标

数组的特点:
  1. 长度确定
  2. 元素必须是统一数据类型
  3. 数据类型可以是任意类型,包括基本类型和引用类型
  4. 数组变量属于引用类型,数组也是对象。
  5. 数组有索引,从0----arr.length.
数组的使用
1. 数组的声明
int[] arr;
int arr2[];
int[] arr3 = null ;//空,数组的赋值null与什么都没有赋值,效果不一样。
2. 数组的创建
arr = new int[4];//给数组开辟了长度为四的空间;编译时声明和创建合并为一句话。
3. 数组的初始化
静态初始化(两种)
  1. 用new关键字产生数组 int[] arr = {11 , 22 , 33 }
  2. 直接在定义数组的同时为数组分配空间并赋值。int[] arr = new[]{11,22,33};
动态初始化

数组定义与数组元素分配空间并赋值的操作分开进行

默认初始化

数组是引用类型,他的元素相当于类的实例对象。因此数组已经数组分配空间,每个元素按照实例变量同样的方式被隐士初始化。
int[] arr = new int[3];//有初始化值

byte[] : 0
short[] : 0
int[] : 0
long[] : 0
float[] : 0.0
double[] : 0.0

char[] :‘\u0000’//空格的SCII码

boolean[] : false

引用数据类型 : null

4. 数组的使用
普通for循环
增强for循环(for-each)

优点:代码简单
缺点:单纯的增强for循环,不能涉及索引相关的操作。(改善:在循环中加一个接收器,++操作)

for(int num : arr){ //遍历arr数组,每个数组元素赋值给num进行操作。
    ....
}
数组的应用
1. 内存

方法的实参传递给形参时,基本数据类型传递的是值,引用数据类型传递的是地址值

2. 数组的查询
  1. 查询指定位置的元素
  2. 查询指定元素的下标(返回的下标初始化时应该避开数组下标,一般取-1.)
3. 数组的增加
4. 数组的删除
  1. 删除指定元素
  2. 删除指定位置的元素
main方法 详述
可变参数
  1. 可变参数:解决部分方法的重载问题。方法中的形参数目可变。
  2. 形式参数格式:(举例)method(int…num)//方法 method(boolean…num)// 方法 method(double…num)//方法
  3. JDK1.5之后加入的新特性
  4. 方法的内部对可变参数的处理跟数组一样。
  5. 可变参数和其他数据一起作为形参,可变参数放在最后举例:method(int num , int…num1)
  6. 自己写可变参数时尽量不使用,主要是看源码方便。
Arrays类
  1. java.util下
2. 使用:
    //binarySearch:二分查找,指定元素对应索引,有序数组操作
    //sort 排序 升序
    //copyOf 数组复制,参数为被复制数组,新数组长度
    //copyOfRange :区间复制 参数:被复制数组 [1,3)下标左包含右不包含
    //equals:比较两个数组是否一样,返回值为true和false
    //fill(int[] a, int val) 
          将指定的 int 值分配给指定 int 型数组的每个元素。

3.System中有一个arrayCopy方法,五个参数。
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)

二维数组
  1. 遍历方式
    增强 普通 (排列组合)
  2. 初始化
    静态初始化
    动态初始化:int[][] arr = new int[3][];(列的参数可以省略不写,也可以为任意长度的列)
    注意事项:nit[][] arr = new int[3][2];
    arr[1] = new int[]{1,2,3,4};//虽然定义的为2列,但是赋值时可以指向新的地址空间。
    默认初始化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值