zoukankan      html  css  js  c++  java
  • 【JAVA基础】数组(二)

    数组索引越界异常(ArrayIndexOutOfBoundsException):

    数组的索引编号从0开始,一直到“数组的长度-1”为止。如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常。

    原因:索引编号写错了。
    解决:修改成为存在的正确索引编号。

    public class ArrayDemo03 {
        public static void main(String[] args) {
            int[] array1={1,2,4};
            System.out.println(array1[0]);//1
            System.out.println(array1[3]);//ArrayIndexOutOfBoundsException
        }
    }
    

    空指针异常 (NullPointerException)

    所有的引用类型变量,都可以赋值为一个null值。但是代表其中什么都没有。

    数组必须进行new初始化才能使用其中的元素。如果只是赋值了一个null,没有进行new创建,那么将会发生:空指针异常 NullPointerException

    原因:忘了new
    解决:补上new

    public class ArrayDemo04 {
        public static void main(String[] args) {
            int[] array=null;
            array=new int[]{1,3,4}; //如果没有这句话,就会发生NullPointerException
            System.out.println(array[0]);
    
        }
    }
    

    练习

    数组最大值:

    public class ArrayDemo05 {
        public static void main(String[] args) {
            int [] array1={1,2,4,5};
            arrayMax(array1);
        }
    
        public static int arrayMax(int[] array){ //数组作为参数
            int max=array[0];
            for (int i = 1; i < array.length; i++) {
                if (max<array[i]){
                    max=array[i];
                }
            }
            System.out.println("最大值为:"+max);
            return max;
        }
    }
    

      

    数组反转(Reverse)

    public class ArrayDemo06 {
        public static void main(String[] args) {
            int [] array1={4,5,6,2,7,1,3};
            arrayReverse(array1);
            for (int i = 0; i < array1.length; i++) {
                System.out.println(array1[i]);
            }
        }
     
        public static int[] arrayReverse(int[] array){  //数组作为参数
            for (int min = 0,max=array.length-1; min < max; min++,max--) {  //数组翻转操作,需要满足下角标min<max
                int temp;
                temp=array[min];
                array[min]=array[max];
                array[max]=temp;
            }
            return array; //数组作为返回值
        }
    }
  • 相关阅读:
    Uva11988
    Uva140
    子集生成
    Uva129
    Uva524
    Uva10976
    Uva11059
    Uva725
    HDU4268(贪心+multiset)
    HDU2034(set水题)
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/12827222.html
Copyright © 2011-2022 走看看