数组及其操作

/*
    练习数组的静态初始化;

    静态初始化: 在创建数组的时候,直接给数组中的数据写上内容;(不能指定长度,直接指定每一个元素值,由java自动计算长度)
    格式:
        数据类型[] 数组名 = {数1,数2,....};
 */
public class Test01 {
    public static void main(String[] args) {
        // 定义一个能装 多个字符串数据的数组
        String[] s = {"刘亚","柳岩","杨幂"};
        // 直接打印数组的名字,看到的并不是数组中的每一个内容,而是这个数组容器整体的"位置"(地址值)
        System.out.println(s);
        double[] arr1 = {1.1,2.2};
        System.out.println(arr1);

        int[] arr2 = {5,6,7};
        System.out.println(arr2);

        // java的输出语句给字符数组开了一个后门,直接打印字符数组的时候,java会自动将内容展示出来,看到的不是地址值
        char[] arr3 = {'你','我','他'};
        System.out.println(arr3);
    }
}

输出如下图:

/*
    练习数组的元素操作;

        存值:  数组名[索引号] = 数据值;
        取值:  数组名[索引号]   取值后本质上得到的是一个具体的数据,因此可以对这个数据进行任意操作,例如: 打印,给某个变量赋值,运算....


 */
public class Test02 {
    public static void main(String[] args) {
        double[] arr = {1.1,2.2,3.3,4.4};
        // 取出2.2这个元素并打印
        System.out.println(arr[1]);
        // 将3.3修改为6.6
        arr[2] = 6.6;
        // 取出2索引位置的元素并打印
        System.out.println(arr[2]);
        // 打印数组的长度
        System.out.println(arr.length);
        // 获取数组中的5索引位置的元素并打印
        System.out.println(arr[5]);// 会发生索引越界异常,需要将索引号修改为合法的值即可
    }
}
/*
    数组的遍历

    逐个操作

 */
public class Test03 {
    public static void main(String[] args) {
        int[] arr = {5,6,7,8,9};
        // 对数组arr进行遍历取值并打印
        System.out.println(arr);// 看到的是地址值
        // 遍历
        for (int i = 0; i < arr.length ; i++) {
            // 使用数组名配合索引号即可获取每一个元素
            System.out.println(arr[i]);
        }
        System.out.println("--------------------");
        // 遍历小数数组
        double[] arr2 = {3.3,4.4,5.5,6.6};
        for (int i = 0; i < arr2.length ; i++) {
            // 取值并存到某个变量中
            double a = arr2[i];
            System.out.println(a);
        }
        System.out.println("=======================");
        for (int i = arr2.length-1; i>=0 ; i--) {
            System.out.println(arr2[i]);
        }
    }
}

/*
    练习数组的动态初始化入门
    概述:
        创建数组的时候,仅指定数组的长度,不指定数组的内容;(数组一旦创建成功,长度不可以改变,内容是由java默认的!)
     格式:
        数据类型[] 数组名 = new 数据类型[长度];


 */
public class Test05_1 {
    public static void main(String[] args) {
        // 创建一个长度为3的整数数组
        int[] arr1 = new int[3];
        // arr1表示的是数组的名字,记录的是数组整体的地址值
        System.out.println(arr1);
        // 使用数组名配合索引好,操作数组中的每一个元素
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
        // 修改1索引位置的数据为666
        arr1[1] = 666;
        System.out.println(arr1[1]);
    }
}
输出如下图:

/*
    演示多个变量指向同一个数组内存
 */
public class Test01 {
    public static void main(String[] args) {
        // 创建了一个内容为 1,2,3的数组,将数组的地址值赋值给了 arr1
        int[] arr1 = {1,2,3};

        // 将变量arr1记录的地址值复制一份,交给了arr2一份
        int[] arr2 = arr1;
        System.out.println(arr1);
        System.out.println(arr2);

        // 使用arr2记录的地址值,配合1索引,对堆内存中的数据进行修改
        arr2[1] = 666;
        System.out.println(arr1[1]);// 666 // 使用arr1记录的地址值配合索引1取值
        System.out.println(arr2[1]);// 666 // 使用arr2记录的地址值配合索引1取值

        // 强行的将arr2变量记录的地址值抹去;(断开关联)
        arr2 = null;
        System.out.println(arr2[0]);// null是无法找0索引的,就会出异常
        System.out.println(arr2.length);//null是无法找数组的长度的,就会出异常
    }
}

输出如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值