java数组

数组动态初始化 

package com.ithema_01;

/*
数组:是一种用于存储多个相同类型数据的存储模型
定义格式:(推荐方式)
    数据类型[门]数组名;
    举例:int[ ] arr;
数组初始化:
    A:所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
    B:数组初始化
        动态初始化
        静态初始化
    动态初始化:
        初始化时只指定数组长度,由系统为数组分配初始值
        格式:数据类型[门变量名= new数据类型[数组长度];
        范例: int[ ] arr = new int[3];
 */
public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        /*
        左边:
            int:说明数组中的元素类型是int类型
            []:说明这是一个数组
            arr:数组的名称
        右边:
            new:为数组申请命名空间
            int:说明数组中的元素类型是int类型
            []:说明这是一个数组
            3:数组长度,确实就是数组中的元素个数
         */
    }
}

数组元素访问

package com.ithema_01;

/*
数组:是一种用于存储多个相同类型数据的存储模型
定义格式:(推荐方式)
    数据类型[门]数组名;
    举例:int[ ] arr;
数组初始化:
    A:所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
    B:数组初始化
        动态初始化
        静态初始化
    动态初始化:
        初始化时只指定数组长度,由系统为数组分配初始值
        格式:数据类型[门变量名= new数据类型[数组长度];
        范例: int[ ] arr = new int[3];
 */
public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        /*
        左边:
            int:说明数组中的元素类型是int类型
            []:说明这是一个数组
            arr:数组的名称
        右边:
            new:为数组申请命名空间
            int:说明数组中的元素类型是int类型
            []:说明这是一个数组
            3:数组长度,确实就是数组中的元素个数
         */
        //输出数组名
        System.out.println(arr);//[I@16b98e56
        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

单个数组及内存图

package com.ithema_02;

/*
单个数组
 */
public class Arraytext01 {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = new int[3];

        //输出数组名及元素
        System.out.println(arr);//[I@16b98e56
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

        //给数组中的元素赋值
        arr[0]=100;
        arr[2]=200;

        //再次输出数组名及元素
        System.out.println(arr);//[I@16b98e56
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

    }
}

 多个数组内存图

public class ArrayText02 {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = new int[2];
        int[] arr2 = new int[3];

        //输出数组名及元素
        System.out.println(arr);//[I@16b98e56
        System.out.println(arr[0]);
        System.out.println(arr[1]);

        System.out.println(arr2);
        System.out.println(arr2[0]);
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);

        //给数组中的元素赋值
        arr[0]=100;
        arr2[0]=200;
        arr2[2]=300;

        //再次输出数组名及元素
        System.out.println(arr);//[I@16b98e56
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr2);//[I@16b98e56
        System.out.println(arr2[0]);
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);

    }
}

多个数组指向相同内存图

package com.ithema_03;
/*
多个数组指向相同内存图
 */
public class ArrayText03 {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr = new int[3];
        arr[0]=100;
        arr[1]=200;
        arr[2]=300;
        //输出数组名及元素
        System.out.println(arr);//[I@16b98e56
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

        //定义第二个数组指向第一个数组
        int[] arr2 = arr;
        arr2[0]=111;
        arr2[1]=222;
        arr2[2]=333;
        //输出两个数组的名及元素
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr2);
        System.out.println(arr2[0]);
    }
}

数组静态初始化

package com.ithema_03;
/*
静态初始化:
    初始化时指定每个数组元素的初始值,由系统决定数组长度

    格式:数据类型[]变量名 = new数据类型[{数据1,数据2,数据3,....;
    范例:int[]arr = new   int[]i1,2,3};
    简化格式:数据类型门变量名={数据1,数据2,数据3,....];
    范例:int[ ]   arr = i1,2,3};
 */
public class ArrayDemo {
    public static void main(String[] args) {
        //定义数组
        int[] arr={1,2,3};

        //输出数组名
        System.out.println(arr);

        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

    }
}

 数组操作的常见两个小问题

package com.ithema_04;
/*
索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
ArrayIndexOutOfBoundsException
空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
NullPointerException
null:空值,引用数据类型的默认值,表示不指向任何有效对象
 */
public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr=new int[3];

        //System.out.println(arr[3]);
        //System.out.println(arr[2]);

        //把null赋值给数组
        arr =null;
        System.out.println(arr[0]);

    }
}

遍历

package com.ithema_05;
/*
遍历
    获取数组中的每一个元素输出在控制台
获取数组元素
    数组名.length
 */
public class ArrayText01 {
    public static void main(String[] args) {
        //定义数组
        int[] arr={11,22,33,44,55};

        //使用通用的遍历格式
        for (int x=0;x< arr.length;x++){
            System.out.println(arr[x]);
        }
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值