• java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历


    一,数组的定义

    Java 中定义数组的语法有两种:
      1. type arrayName[];
      2. type[] arrayName;
    type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。

    例如:

            int demoArray[];

            int[] demoArray;  (推荐)

    这两种形式没有区别,使用效果完全一样。

    二,数组内存分配

    Java在定义数组时并不为数组元素分配内存,因此[ ]中无需指定数组元素的个数,即数组长度。而且对于如上定义的一个数组是不能访问它的任何元素的,我们必须要为它分配内存空间,这时要用到运算符new,其格式如下:
      arrayName = new type[arraySize];
    其中,arraySize 为数组的长度,type 为数组的类型。如:

    1. demoArray new int[3];

    为一个整型数组分配3个int 型整数所占据的内存空间。

    通常,你可以在定义的同时分配空间,语法为:
      type[] arrayName = new type[arraySize];
    例如:

    1. int[] demoArray new int[3];

    三,数组的初始化

    你可以在声明数组的同时进行初始化(静态初始化),也可以在声明以后进行初始化(动态初始化)。例如:

            // 静态初始化
            // 静态初始化的同时就为数组元素分配空间并赋值
            String[] strArray1 = new String[] { "字符串1", "字符串2", "字符串3" };
            String[] strArray2 = { "字符串1", "字符串2", "字符串3" };
            
            // 动态初始化
            String[] strArray3 = new String[3];
            strArray3[0] = "字符串1";
            strArray3[1] = "字符串2";
            strArray3[2] = "字符串3";

     四,数组引用

    可以通过下标来引用数组:
      arrayName[index];
    Java对数组元素要进行越界检查以保证安全性。

    五,数组的遍历

    实际开发中,经常需要遍历数组以获取数组中的每一个元素。最容易想到的方法是for循环,例如:

    输出结果:
    1, 2, 4, 7, 9, 192, 100,

    不过,Java提供了”增强版“的for循环,专门用来遍历数组,语法为:

    arrayType 为数组类型(也是数组元素的类型);varName 是用来保存当前元素的变量,每次循环它的值都会改变;arrayName 为数组名称。

    每循环一次,就会获取数组中下一个元素的值,保存到 varName 变量,直到数组结束。即,第一次循环 varName 的值为第0个元素,第二次循环为第1个元素……例如:

    输出结果与上面相同。

    这种增强版的for循环也被称为”foreach循环“,它是普通for循环语句的特殊简化版。所有的foreach循环都可以被改写成for循环。

    但是,如果你希望使用数组的索引,那么增强版的 for 循环无法做到。

  • 相关阅读:
    bootstrap-scrollspy
    bootstrap-dropdown
    bootstrap-collapse
    如何带领团队“攻城略地”?优秀的架构师这样做
    detect data races The cost of race detection varies by program, but for a typical program, memory usage may increase by 5-10x and execution time by 2-20x.
    O(n) O(log n) blist: an asymptotically faster list-like type for Python
    搭建起中台后,不仅新业务可以直接获取90%以上的通用系统支持,还能降低试错成本,避免失去市场机会。
    Feed流系统设计-总纲
    大数据架构如何做到流批一体?
    大话数据库连接池
  • 原文地址:https://www.cnblogs.com/ooo0/p/7133104.html
Copyright © 2020-2023  润新知