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. 使用ionic开发时用遇到监听手机返回按钮的问题~

    当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面: 其实用ionic自带的服务就可以解决:  //双击退出   $ionicP ...

  2. Go Example--方法

    package main import "fmt" //定义结构体 type rect struct { width,height int } //定义结构体指针的方法 func ...

  3. LeetCode – Group Shifted Strings

    Given a string, we can "shift" each of its letter to its successive letter, for example: & ...

  4. itcast-spring

    黑马2014  spring后期 ssh整合后期  讲解不清楚 源码讲解太多   spring重新开始  itcast2016版本 介绍 Spring搭建 约束引入注意事项 导入至eclipse:wi ...

  5. linux磁盘检测和修复

    显示磁盘和闪存的信息,以及分区信息 [root@bogon shell]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 s ...

  6. python + opencv + pycharm +语音生成

    安装puthon 2.7.14(内置pip) pip install numpy pip install opencv-python 安装opencv 3.3.0 进入opencv example目录 ...

  7. ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel

    本文简单介绍一下在母版页中使用UpdatePanel控件,翻译自官方文档. 主要内容 1.添加UpdatePanel控件到Content Page 2.通过Master Page刷新UpdatePan ...

  8. 大数据离线分析平台 JSSDK数据收集引擎编写

    JsSDK设计规则在js sdk中我们需要收集launch.pageview.chargeRequest和eventDuration四种数据,所以我们需要在js中写入四个方法来分别收集这些数据,另外我 ...

  9. SQL2008:WITH MOVE 子句可用于重新定位一个或多个文件

    sql2008数据库 还原备份文件还原产生这个错误的原因是:还原目录下存在多个同名文件, 如图所示,只需要将第2个以及以后的mdf文件改成其它名字就行了,比如s.mdf,s1.mdf等等.

  10. FFMPEG-Java 入门

    注意:FFMPEG-Java 和 Jffmpeg 不是一回事.FFMPEG-Java 是 Freedom for Media in Java(缩写为 FMJ)的一个子项目.        这个项目遵循 ...