Java里数组的三种初始化方式

    1. 静态初始化

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

      // 静态初始化
      int[] iArr = { 5, 2, 0 };
      Hero[] heros = new Hero[] {
              new Hero("艾希","女"),
              new Hero("盖伦","男"),
              new Hero("挖掘机","未知")
      };
      
    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[] iArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
      LOLHero[] heros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null
      

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

原文地址:https://www.cnblogs.com/zxfei/p/10704220.html

时间: 2024-07-28 21:16:01

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

053_数组的三种初始化方式

一.默认初始化 数组也是引用类型中的其中一种.所以数组也是对象.数组中的元素相当于对象中的成员变量.其初始化规则和对象成员变量一致. 1.int或能自动转为int类型的(byte.short.int).long默认初始值都为:0 2.浮点数类型(单精度float和双精度double)默认初始值为:0.0 3.引用类型(数组.String.枚举等其它自定义类型)默认初始值为:null 二.静态初始化 除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值.如: in

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

package Study; public class TestArray02 { public static void main(String[] args){ //声明 int[] a; int b[]; //创建数组对象 a = new int[4]; b = new int[5]; //初始化(对数组元素的初始化) //默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样.数字0,布尔false,char\u0000,引用:null: //动态初始化: for(int i

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

1. 数组的三种声明方式 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test1 = new String[6]; test1[0] = "数组0"; test1[1] = "数组1"; //第二种 例: String[] test2 = {"数组0","数组1","数组2","

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

数组的三种定义方式

// 数组的三种定义方式 var arr = ['zhangsan','lisi','wangwu']; var arr1 = new Array('zhangsan','lisi','wangwu'); var arr2 = new Array(3); arr2[0] = 'zhangsan'; //注意:下标一定要写,不像在php中,下标是可以不写,是一直追加 // console.log(arr2); // 说明:js中,没有关联数组一说,数组下标都是数字 // 如果一个数组的下标是自定义

Jquer的三种初始化方式

$(document).ready(function(){ alert(200); }); jQuery(function($){ alert(100); }); $(function(){ alert(300); }); Jquer的三种初始化方式

OC-NSArray数组的三种遍历方式

// // main.m // 818-数组遍历三种方式 // // Created by 邱学伟 on 15/8/18. // Copyright (c) 2015年 邱学伟. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *ary = @[@(10),@"lovke"

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

Java创建线程的主要方式 一.继承Thread类创建 通过继承Thread并且重写其run(),run方法中即线程执行任务.创建后的子类通过调用 start() 方法即可执行线程方法. 通过继承Thread实现的线程类,多个线程间无法共享线程类的实例变量.(需要创建不同Thread对象,自然不共享) 例子: /** * 通过继承Thread实现线程 */ public class ThreadTest extends Thread{ private int i = 0 ; @Override

Java创建数组的三种方法

■ 第一种: int[] arr=new int[6]; arr[0] = 1; arr[1] = 2 arr[2] = 3; arr[3] = 4; arr[4] = 5; arr[5] = 6; ■ 第二种: int[] arr = {1,2,3,4,5,6}; ■ 第三种: int[] arr = new int[]{1,2,3,4,5,6};