java数组和异常

这篇博客详细介绍了Java中的数组操作,包括创建、遍历、拷贝以及使用Arrays工具类的方法。示例代码展示了如何进行数组初始化、遍历赋值、深拷贝和浅拷贝的区别,以及如何使用Arrays类的binarySearch、copyOf和equals方法。此外,还提到了二维数组的概念。
摘要由CSDN通过智能技术生成

数组是一组具有相同类型的数据的数据结构

数组中的数据在内存中是连续存放的

使用方式是step1创建数组

step2操作数组

int [ ] arr=new int[5];

数组的类型是引用类型

♥数组如何进行遍历

package part6;

public class ArrayTest {
    public static void main(String[] args) {
/*        int o=23;
        int[]arr = new int[5];
        System.out.println(arr[0]);
        arr[1]=1;*/


        String[]ban200 =new String[50];
        //遍历赋值
        for (int i=0;i<ban200.length;i++){
            ban200[i]="李俊强的同学"+i;
        }
        //遍历打印
        for (int i=0;i<ban200.length;i++){
            System.out.println(ban200[i]);
        }
        for(String name:ban200){
            System.out.println(name);
        }
    }
}

方法的可变参数写法:

public static int getSum(int... nums){

}

实际上nums是数组。方法体内遍历后进行操作

数组的拷贝分为浅拷贝和深拷贝两种,浅拷贝只是引用传递,指向内存地址不变;

深拷贝

值传递,内存中新开辟空间

public class ArrayDemo4 {
    public static void main(String[] args) {
        /*数组拷贝*/
        int[]arr ={3,42,31,33,12};
        int[]arr1=arr;
        arr1[0]=1;
        //System.out.println(arr[0]);
        //System.out.println(arr1[0]);
        /*深拷贝,值传递*/
        int[]arr2=new int[arr.length];
        for (int i=0;i<arr2.length;i++){
            arr2[i]=arr[i];
        }
        arr2[0]=42;
        System.out.println(arr[0]);
        System.out.println(arr2[0]);
    }
}

Arrays工具类

package part6;

import java.util.Arrays;

public class ArraysDemo {
    public static void main(String[] args) {
        int[]arr={32,34,33,122,1321};
        int i = Arrays.binarySearch(arr, 122);
        System.out.println(i);
        System.out.println(Arrays.toString(arr));
        //数组拷贝
        int[] newAray = Arrays.copyOf(arr, arr.length);
        System.out.println(Arrays.toString(newAray));

        //equals方法
        boolean equals = newAray.equals(arr);
        System.out.println(equals);

        boolean equals1 = Arrays.equals(arr, newAray);
        System.out.println(equals1);

 //二维数组
        int[][]arrs=new int[3][4];
        arrs[0][1]=123;
        arrs[0][2]=321;
        System.out.println(Arrays.toString(arrs));
    }
}

二维数组:就是数组中存的是N个一维数组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值