Java数组的使用(附带优缺点)

初始化(包括声明):

分为静态初始化和动态初始化。申明的方式有两种,以一维数组为例:int[ ] testArr, int testArr[ ]。后者不常用,只是为了和C语言统一,Java源码中也是把[ ]放在前面。下面统一用第一种申明方式

一维数组:

//静态初始
int[] testArr = new int[]{1,2,3};   //这两个都可以,只是申明数组的时候[]的位置不一样
int testArr[] = new int[]{1,2,3};   //这样也可以,但是一般用第一种,第二种申明为了维持和C语言一样
int[] testArr = {1,2,3};

//动态初始
int[] testArr = new int[3];    //这两个都可以,只是申明数组的时候[]的位置不一样

二维数组:(可以理解为由一维数组作为元素的一维数组)

//静态初始
int[][] testArr = new int[][]{{1,2,3},{1,2},{4,5}};
int[] testArr[] = new int[][]{{1,2,3},{1,2},{4,5}};//这个声明比较特别,但是很少用
//动态初始
int[][] testArr = new int[3][];//只知道有3行
int[][] testArr = new int[3][4];//知道3行4列

数组的属性:

通过"数组名.length"调用数组的长度。在初始化完就已经确定,所以如果有个数组的长度还不确定,那代表根本无法进行初始化

一维数组这样使用很好理解,就是这个数组有多少元素,但是二维数组这样使用,返回的是二维数组有多少行

如果单独用testArr[0].length就会返回第0行有多少列。从这个角度也能明白,其实这里的二维数组很像是图的临界表结构,不同的行就是不同的一维数组。

遍历:

分为传统for遍历和增强for遍历。

//一维数组
//传统for
for(int i=0;i<testArr.length,i++){
    System.out.println(testArr[i]);
}

//增强for,格式:for(临时值的数据类型 用来循环的临时值: 需要循环的对象)
for(int temp: testArr){
    System.out.println(temp);
}

//二维数组:
//传统的for
for(int i=0;i<testArr.length;i++){
    for(int j=0;j<test[i].length;j++){
        System.out.println(testArr[i][j]);
    }
}

//增强
for(int[] temp: testArr){   //这里的temp是一维数组
    for(int data: temp){    //data是一维数组里的值
        System.out.println(data);
    }
}

默认初始化值:

数值型的元素都是0,char默认是0或者'\u0000',不是0;boolean默认是false;引用类型都是null。

数组的特点:

数组一但确定长度就得确定,这是数组的一个缺点。数组内的数据类型也必须确定统一,这样操作起来会很方便,这是数组的优点。数组的缺点还有:对于添加、插入、删除操作非常不友好,很麻烦;没有特定的方法获得数组中元素的个数,length这个属性不够。鉴于它的缺点我们常常会用到Java容器:集合,不用开始就确定长度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值