3种创建数组的方法(重点)

方法1

数据类型[] 数组名字 = new 数据类型[长度];
[] : 表示数组,数组有定长特性,长度一旦指定,不可更改

int[] arr = new int[3];

方法2

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};

public class Test1 {
    public static void methodA(String obj) {
        int[] arr = new int[]{1, 2, 3, 4, 5};
        Object[] arr1 = new Object[]{obj1,obj2};
        //不要和创建对象混了
        Object object = new Object();
        //数组作为方法参数
        Logger.error(getClass(), MessageID.MAS004E, new Object[]{obj1,obj2});
    }
}

方法3

数据类型[] 数组名 = {元素1,元素2,元素3…};

int[] arr = {1,2,3,4,5};

注意事项

不要写成了
Object obj3 = new Object[3];
虽然不报错,但它既不是数组,也不是对象,没法遍历

package referenceType3;

public class ArrayTest {
    public static void main(String[] args) {
        Object[] obj = new Object[]{"a", "b"};
        Object[] obj1 = new Object[3];
        Object[] obj2 = {"d", "e"};

        //错误写法,这样就成了对象
        Object obj3 = new Object[3];
        System.out.println("obj3 = " + obj3.toString());
        System.out.println("");

        System.out.println("obj = " + obj);
        System.out.println("obj1 = " + obj1);
        System.out.println("obj2 = " + obj2);

        System.out.println("");
        for (int i = 0; i < obj.length; i++) {
            System.out.println("obj[i] = " + obj[i]);
        }
        System.out.println("");
        for (int i = 0; i < obj1.length; i++) {
            System.out.println("obj1[i] = " + obj1[i]);
        }
        System.out.println("");
        for (int i = 0; i < obj2.length; i++) {
            System.out.println("obj2[i] = " + obj2[i]);
        }
    }
}

在这里插入图片描述

编译后Class文件
在这里插入图片描述
总结

1.方式三虽然没有new关键字,但是jvm仍然要在内存中开辟空间。
2.数组的定义和初始化可以分为二个步骤,但是方式三不可以。

     //第一种
        int[] a;
        a = new int[3];//正确
        //第二种
        int[] b;
        b = new int[]{1, 2, 3};//正确
        //第三种
        int[] c;
        c= {1,3,4};//错误
        //第三种
        int[] d = {1,2,3};//正确

数组的访问

数组名[索引]

//定义存储int类型数组,赋值元素1,2,3,4,5
    int[] arr = {1,2,3,4,5};
    //为0索引元素赋值为6
    arr[0] = 6;

数组遍历:

public static void main(String[] args) {
    int[] arr = { 1, 2, 3, 4, 5 };
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值