Day18 -- Java数组02

1. 数组的使用

  • 普通的For循环
  • For-Each循环
  • 数组作方法入参
  • 数组作返回值

例子:

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        //JDK 1.5及以上,没有下标
//        for (int array : arrays) {
//            System.out.println(array);    //适合循环输出,操作不如下标方便
//        }
        //printArray(arrays);
        int[] reverse = reverseArray(arrays);
        printArray(reverse);
    }

    //打印数组元素
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i]+" ");
        }
    }

    //反转数组
    public static int[] reverseArray(int[] arrays){
        int[] result = new int[arrays.length];
        //反转数组
        for(int i = 0, j = result.length-1; i < arrays.length; i++, j--){
            result[j] = arrays[i];
        }

        return result;
    }
}

2.多维数组

理解多维数组的构成

多维数组构成

3. Arrays类

  • 数组的工具类java.util.Arrays

  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays,从而可以对数据对象进行一些基本的操作。 --> 参考JDK帮助文档

  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(不是不能)

  • 具有以下常用功能

    • 给数组赋值:通过fill方法
    • 对数组排序:通过sort方法,按升序
    • 比较数组:通过equals方法比较数组中元素值是否相等
    • 查找数组元素:通过binarySearch方法能对排序号的数组进行二分查找法操作
    //Arrays的常用功能用法
    //1.给数组赋值:fill
    int[] a = new int[10];
    int[] b = new int[10]; 
    Arrays.fill(a,0);		//数组所有元素填充0
    Arrays.fill(a,2,5,0);   //数组从下标为2到4的元素都填充为0
    
    //2.对数组排序
    Arrays.sort(a);			//默认按大小升序排列数组
    Arrays.sort(a,1,4);		//将数组第2到第5个元素按升序排列
    
    //3.比较数组
    boolean isEqual = Arrays.equals(a,b);		//判断两个数组是否相等(长度不一 return false)
    
    //4.查找数组元素
    int index = Arrays.binarySearch(a, 17);     //返回匹配元素的index;若未找到则返回-1
    int index2 = Arrays.binarySearch(a, 3, 9, 17);  //查找数组第4到第10个元素中是否有匹配的值,返回下标
    
    
posted @ 2021-03-30 20:21  筠亭之  阅读(35)  评论(0编辑  收藏  举报