JavaDay5

作者: __method__ | 来源:发表于2020-09-23 13:13 被阅读0次

    数组的遍历和长度属性

    package com.example.day05;
    
    import java.util.Arrays;
    
    /**
     * @author Eric Lee
     * @date 2020/9/23 11:04
     */
    public class ArrayDemo2 {
        public static void main(String[] args) {
            int[] arr = new int[5];
            arr[0] = 1;
            arr[1] = 3;
            arr[2] = 5;
            System.out.println(Arrays.toString(arr));
            System.out.println(arr); // 直接输出数组返回的是他的地址值[I@1b6d3586
            System.out.println("++++++++++++++++++++++|");
            // 数组遍历 一个一个的取出
    //        System.out.println(arr[0]);
    //        System.out.println(arr[1]);
    //        System.out.println(arr[2]);
            // 数组的length属性
            System.out.println("length属性"+arr.length);
    
    //        for (int i = 0; i <arr.length ; i++) {
    //            System.out.println("i= "+i);
    //            System.out.println(arr[i]);
    //        }
            for (int i = 0; i <arr.length ; i++) {
                System.out.println(arr[i]);
            }
    
        }
    }
    
    

    数组的内存图

    两个数组的内存图

    两个变量指向一个数组

    数组越界异常

    • 下标超过了数组length-1
    • 数组中根本没有元素
    public class ArrayDemo4 {
        public static void main(String[] args) {
            int[] arr = {11, 22, 33, 44};
    //        System.out.println(arr[4]); // ArrayIndexOutOfBoundsException
            int[] arr2 = {}; // .ArrayIndexOutOfBoundsException
            System.out.println(arr2[0]);
    
        }
    }
    

    数组的空指针异常

    public class ArrayDemo5 {
        public static void main(String[] args) {
            int[] arr = {1, 2, 3};
            arr = null; // 空值  不保存数组的地址
            System.out.println(arr[0]);// NullPointerException
    
        }
    }
    

    获取数组中最大的元素

    public class ArrayDemo6 {
        public static void main(String[] args) {
            int[] arr = new int[]{2, 333233, 4444, 44433, 432};
            // 定义一个max变量,存储最大值
            int max = arr[0];
            //遍历数组
            for (int i = 0; i < arr.length; i++) {
                if (arr[i] > max){
                    // 更新max的值
                    max = arr[i];
                }
            }
            System.out.println("最大值是"+max);
        }
    }
    

    数组的反转

    package com.example.day05;
    
    import java.util.Arrays;
    
    /**
     * @author Eric Lee
     * @date 2020/9/23 12:15
     */
    public class ArrayDemo7 {
        public static void main(String[] args) {
            int[] arr = {1, 2, 3, 4, 5, 6, 7}; // 54321
    //
    //        for (初始表达式; 布尔表达式 ; 步进表达式) {
    //
    //        }
    //        for (int i= 0, j=100 ; i < 100; i++, j++){
    //
    //        }
            for (int min =0, max=arr.length-1; min <= max; min++,max-- ){
                    // 交换min和max索引对应 的值
                 int temp = arr[min];
                 arr[min] = arr[max];
                 arr[max] = temp;
    
            }
    
            System.out.println(Arrays.toString(arr));
    
    
        }
    }
    
    

    数组作为方法的参数

    package com.example.day05;
    
    /**
     * @author Eric Lee
     * @date 2020/9/23 12:38
     */
    public class ArrayDemo8 {
        // 数组作为方法的参数
        public static void main(String[] args) {
            int[] arr = {1, 2, 3, 4, 5, 6};
            getArraySum(arr);
        }
    
        // 数组作为方法的参数  String name  int[]
        public static void getArraySum(int[] arr){
            int sum = 0;
            for (int i = 0; i < arr.length; i++) {
                sum += arr[i];
            }
            System.out.println(sum);
        }
    
        public static void getSum(int x, int y){
            System.out.println(x+y);
        }
    
    }
    
    

    数组作为方法的返回值

    package com.example.day05;
    
    import java.util.Arrays;
    
    /**
     * @author Eric Lee
     * @date 2020/9/23 12:49
     */
    public class ArrayDemo9 {
        public static void main(String[] args) {
            int sum = getSum(10, 23, 22);
            System.out.println(sum);
            int[] arr = {1, 3, 5, 7, 9};
            int[] arrayPower = ArrayPower(arr);
            System.out.println(Arrays.toString(arrayPower));
        }
        public static int[] ArrayPower(int[] arr){
            int[] powerArr = new int[arr.length];
            for (int i = 0; i < arr.length; i++) {
               int val =  arr[i]*arr[i];
               powerArr[i] = val;
            }
            return powerArr;
    
        }
        public static int getSum(int x , int y, int z){
            return x+y+z;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:JavaDay5

          本文链接:https://www.haomeiwen.com/subject/klgnyktx.html