zoukankan      html  css  js  c++  java
  • Java里数组的三种初始化方式

      1. 静态初始化

        除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

        // 静态初始化
        int[] iStaticArr = { 5, 2, 0 };
        LOLHero[] staticHeros = new Hero[] {
                new LOLHero("艾希","女"),
                new LOLHero("盖伦","男"),
                new LOLHero("挖掘机","未知")
        };
        
      2. 动态初始化

        数组定义与为数组元素分配空间并赋值的操作分开进行。

        //动态初始化
        int[] iDynamicArr = new int[3];
        iDynamicArr[0] = 5;
        iDynamicArr[1] = 2;
        iDynamicArr[2] = 0;
        
        LOLHero[] dynamicHeros = new LOLHero[3];
        dynamicHeros[0] = new LOLHero("艾希","女");
        dynamicHeros[1] = new LOLHero("盖伦","男");
        dynamicHeros[2] = new LOLHero("机器人","未知");
        
      3. 数组的默认初始化

        数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化(即使不给赋初值,也会被程序赋予默认值)。

        //默认初始化
        int[] iDefaultArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
        LOLHero[] defaultHeros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null
        

        其中布尔类型的变量的默认值为false
        个人觉得,还是静态初始化省事,不过有时候确实需要动态初始化,有时候也不用初始化,所以看情况而定吧。

  • 相关阅读:
    C# 与 Java Rsa加密与解密互通
    PHP 读取Postgresql中的数组
    ArcGis Javascript API (V3.6)加载天地图
    Entity Framework 6.0 对枚举的支持/实体添加后会有主键反回
    ubuntu 中 ssh连接用UTF8
    Entity Framework PostgresQL CodeFirst
    Golang 字符编码
    CentOS 安装 mono
    C和C++中的不定参数
    WisDom.Net 框架设计(一) 总体框架
  • 原文地址:https://www.cnblogs.com/zxfei/p/10704220.html
Copyright © 2011-2022 走看看