javase part3 - 数组

数组概念
  • 数组是一种数据结构,特点是:连续性存储,内部元素类型相同
  • 数组索引从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;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,957评论 19 139
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,518评论 0 3
  • 1.数组类型 数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元...
    伊卡洛斯丶阅读 495评论 0 3
  • 我的家乡土住在中条山半山腰,说起家乡,就情不自禁的想起我的窑洞。 窑洞的最大优点是冬暖夏凉,墙壁超厚,...
    小小朱一伦阅读 606评论 1 1