美文网首页
javase part3 - 数组

javase part3 - 数组

作者: 不再饿肚子给人送饭 | 来源:发表于2017-11-10 11:44 被阅读0次
    数组概念
    • 数组是一种数据结构,特点是:连续性存储,内部元素类型相同
    • 数组索引从0开始,数组最大索引为数组总长度 -1
    • 尝试使用 0 ~ 数组长度-1 范围外的数组索引元素将会引发java.lang.ArrayIndexOutOfBoundsException
    • 数组一旦声明,长度将不可改变,如果想要改变长度只能重新开辟数组,将旧的数组赋值给新的数组
    • 基本类型数组元素有初始值
    • 引用类型数组元素初始值为null
    • 调用值为null的元素的方法和属性将会抛出
      java.lang.NullPointerException
    • foreach 遍历数组只能取值不能赋值,并且只能取出所有值,而且不会越界
    数组使用 | 数组的三种初始化方式
    void arrayTest1(){
      //数组的动态初始化
      //将数组的定义与 为数组元素赋值分开进行
      int[] numbers = new int[2];
      int[0] = 0;
      int[1] = 0;
    
      //数组的静态初始化
      //定义数组的同时将数组元素填充
      //创建数组并赋值
      int[] numberArray1 = {1,2,3};
    
      //数组的默认初始化
      //创建指定长度的数组不赋值
      int[] numberArray2 = new int[3];
      System.out.println(numbers2.length);
    
      //第三种数组赋值的方式
      int[] numberArray3 = new int[3]{1,2,3};
    
      //对数组指定索引位置元素赋值
      numbers2[2] = 9;
    
      //打印指定索引位置的元素
      System.out.println(numbers2[2]); //9
    }
    
    基本类型数组和引用类型数组
    基本类型数组
    void arrayTest2(){
    
            //创建一个长度为3的数组
            double[] doubleArray = new double[3];
    
            //循环给数组赋值
            for (int i =0;i<doubleArray .length;i++){
                doubleArray [i] = i;
            }
    
            //访问不存在的元素将会抛出 java.lang.ArrayIndexOutOfBoundsException
            //System.out.println(doubleArray[-1]);
    
            //循环输出数组
            //0.0
            //1.0
            //2.0
            for (int i =0;i<doubleNumberArray.length;i++){
                System.out.println(doubleNumberArray[i]);
            }
    
    }
    
    引用类型数组
    void arrayTest3(){
            //创建一个长度为3的数组
            String[] stringArray = new String[3];
    
            //循环给数组赋值
            for (int i = 0; i < stringArray.length; i++) {
                stringArray[i] = "元素" + i;
            }
    
            //循环输出数组
            //元素0
            //元素1
            //元素2
            for (int i = 0; i < stringArray.length; i++) {
                System.out.println(stringArray[i]);
            }
            
            //创建一个长度为5的String类型的数组
            String[] stringArray2 = new String[5];
    
            //引用类型数组中的元素的默认值为null
            System.out.println(stringArray2[3]);
    
            //调用值为null的对象的方法会抛出 java.lang.NullPointerException
            //System.out.println(stringArray2[3].hashCode());
    
            stringArray2 = stringArray;
            
            //foreach 遍历数组 jdk5.0+版本才可以使用此语法糖
            for (String s:stringArray2
                 ) {
                System.out.println(s);
            }
           
    }
    
    数组应用
    demo - 求数组中的最大值
    
    public static int getMax(int[] intArray){
        
            int maxValue = intArray[0];
    
            for (int i = 0;i<intArray.length;i++){
                if (intArray[i]>maxValue){
                    maxValue = intArray[i];
                }
            }
    
            return maxValue;
        }
    

    相关文章

      网友评论

          本文标题:javase part3 - 数组

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