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
      个人觉得,还是静态初始化省事,不过有时候确实需要动态初始化,有时候也不用初始化,所以看情况而定吧。

Java里数组的三种初始化方式的更多相关文章

  1. JAVA学习笔记-数组的三种初始化方式

      package Study; public class TestArray02 { public static void main(String[] args){//声明 int[] a; int ...

  2. 数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结

    1. 数组的三种声明方式 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test ...

  3. Java数组02——三种初始化及内存分析

    内存分析 三种初始化 例子  package array; ​ public class ArrayDemon02 {     public static void main(String[] arg ...

  4. 基于Java的二叉树的三种遍历方式的递归与非递归实现

    二叉树的遍历方式包括前序遍历.中序遍历和后序遍历,其实现方式包括递归实现和非递归实现. 前序遍历:根节点 | 左子树 | 右子树 中序遍历:左子树 | 根节点 | 右子树 后序遍历:左子树 | 右子树 ...

  5. Java数组的三种打印方式

    1.数组的输出的三种方式 一维数组: 定义一个数组 int[] array = {1,2,3,4,5}; (1)传统的for循环方式 for(int i=0;i<array.length;i++ ...

  6. java中线程的三种实现方式

    一下记录下线程的3中实现方式:Thread,Runnable,Callable 不需要返回值时,建议使用Runnable:有返回值时建议使用Callable 代码如下所示: package com.f ...

  7. Java中容器的两种初始化方式比较

    List,Set,Map的两种初始化赋值方式  List List<Integer> list2 = new ArrayList<Integer>(); for (int i= ...

  8. Java创建线程的三种主要方式

    Java创建线程的主要方式 一.继承Thread类创建 通过继承Thread并且重写其run(),run方法中即线程执行任务.创建后的子类通过调用 start() 方法即可执行线程方法. 通过继承Th ...

  9. Java创建数组的三种方法

    ■ 第一种: int[] arr=new int[6]; arr[0] = 1; arr[1] = 2 arr[2] = 3; arr[3] = 4; arr[4] = 5; arr[5] = 6; ...

随机推荐

  1. String的方法capitalize

    官方解释:Return a copy of the string with its first character capitalized and the rest lowercased.(返回字符串 ...

  2. Comet OJ - Contest #2 简要题解

    Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{( ...

  3. LG3809 【模板】后缀排序

    题意 题目背景 这是一道模板题. 题目描述 读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的 ...

  4. python-xlsxwriter模块绘制表格

    #coding: utf-8 import xlsxwriter workbook=xlsxwriter.Workbook('chart.xlsx') worksheet=workbook.add_w ...

  5. hermes kafka 转http rest api 的broker 工具

    hermes 与nakadi 是类似的工具,但是设计模型有很大的差异,hermes 使用的是webhook的模式(push) nakadi 使用的是pull(event stream),各有自己解决的 ...

  6. [转]DB2中需要REORG操作的几种情况

    问题: 在DB2数据库中,修改完表的结构时,是否需要对表做一个reorg操作才能使表的状态恢复正常? 答:有以下4种操作,需要对表做reorg操作 1. SET DATA TYPE altered-d ...

  7. Day 04 if判断,while循环,for循环

    if判断语法一:if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例:sex='female'age=18is_beautiful=True if sex == 'female' ...

  8. Jmeter使用自定义编写代码

    原文地址:http://blog.csdn.net/li_ok/article/details/1487685 我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如 ...

  9. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

  10. java强制删除文件机制

    //启动资源强制回收机制 System.gc(); 然后就可以删除了