首先要清楚数组变量与数组对象的概念。数组变量是一个引用变量,可以指向数组对象。

int[] a = new int[]{7, 8, 9};        a是数组变量,指向有new创建的数组对象。

数组变量的初始化即是该变量指向有效的数组对象或赋值为null。如下所示:

		int[] a = new int[]{7, 8, 9};
int[] b = a;
int[] c = null;

 数组变量a,b,c都是有效的,a与b指向相同的数组对象,c取值为null,不指向任何对象。

数组对象的初始化指的是每个数组元素的初始化。java中数组对象初始化方式有两种。

第一种:定义数组并初始化每个数组元素的值。如:

int[] intVal = new int[] {3, 6, 5, 7, 9};  //或者 int[] intVal = {3, 6, 5, 7, 9};
float[] floatVal = {5.6f, 7.32f, 3.1415926f}; MobileScreen[] screen = new MobileScreen[] {
new MobileScreen("LCD", 3.4),
new MobileScreen("OLED", 0.9)
};

 

第二种:只定义数组,并指定数组长度,数组元素的值由系统指定如:

		double[] doubleVal = new double[2];

 数组doubleVal中每个元素的初始值有系统指定,为0.0。即doubleVal[0]与doubleVal[1]的值都是0.0、

		MobileScreen[] mobile = new MobileScreen[2];

mobile[0]与mobile[1]的值为null

对于元素为引用类型的数组,每个元素的初始值为null,即数组元素没有指向任何对象(也说明系统没有创建任何MobileScreen对象)。

若为元素赋值,需要创建对象。

mobile[0] = new MobileScreen("LED", 5.6);
mobile[1] = new MobileScreen("AMOLED", 0.3);

附MobileScreen类定义:

class MobileScreen {

	String type;
double thickness; MobileScreen(String type, double thickness) {
this.type = type;
this.thickness = thickness;
}
}

  

Java数组初始的更多相关文章

  1. Java数组及其内存分配

    几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...

  2. Java 数组声明与初始化

    引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...

  3. Java数组(初学者必看)

    数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同.但凡写过一些程序的人都知道数组的价值及理解数组的重要性,与链表一道,数组成为了基本的数据结构.尽管Java提供了 ...

  4. java数组与内存控制

    1.1数组的初始化 数组是大多数编程语言都提供一种的复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组.java语言的数组变量时引用类型的变量,因此具有java独有的特性. java数 ...

  5. Java数组你知多少?

    下面我带大家一起加深一下对Java数组的认识: 1.理解数组 数组也是一种数据类型,本身就是一种引用类型,我们从它的初始化方法,通过关键字new去完成定义及初始化就可以知道. 数组的长度是不变的,一旦 ...

  6. Java数组的内存管理

    Java数组的内存管理 Java语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的.Java程序中的数组必须经初始化才能使用.所谓初始化,就是当数组对象的元 ...

  7. Java数组的复制全解

    1.将一个基本数据类型数组的引用赋值给另一个数组 public class Array_copy { int[] array1=new int[]{1,2,3,4,5,6}; int[] array2 ...

  8. Java基础学习-Random类和Java数组

    1.随机数类(Random) package com.denniscui;   import java.util.Random; /*  * Random:用于产生随机数  *  * 使用步骤:  * ...

  9. Java数组(int为例)

    Java数组(int为例) 定义:相同数据类型的数据的组合,是一种引用类型,是一个对象,存在堆里. 数组初始化:int[] scores1 = new int[]{72,90,59};//静态初始化: ...

随机推荐

  1. 根据服务端生成的WSDL文件创建客户端支持代码的三种方式

    第一种:使用wsimport是JDK自带的工具,来生成 生成java客户端代码常使用的命令参数说明: 参数 说明 -p 定义客户端生成类的包名称 -s 指定客户端执行类的源文件存放目录 -d 指定客户 ...

  2. shell 命令参数

    $# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本 ...

  3. HDU 2891

    DESCRIPTION: 大意是说 先给你n个 同学的 上课时间.一周的第几天,开始和结束的时间点.然后对应q个出去玩的时间.要你给出谁不能出去.如果都能出去就输出none. 开始做的时候觉得每个同学 ...

  4. learngin uboot design parameter recovery mechanism

    pseudocode: if( getenv(“uboot_env_init”)  !=  NULL){ if(uboot_env_init  !=  HAVE_INIT){ Set uboot_en ...

  5. sql 判断字符串中是否含有数字和字母

    判断是否含有字母 select PATINDEX('%[A-Za-z]%', ‘ads23432’)=0 (如果存在字母,结果<>1) 判断是否含有数字 PATINDEX('%[0-9]% ...

  6. js打开、关闭页面和运行代码那些事

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. 为什么要使用encodeURL转换URL编码?

    参考: https://www.cnblogs.com/haitao-fan/p/3399018.html http://www.ruanyifeng.com/blog/2010/02/url_enc ...

  8. Saiku_学习_01_saiku安装与运行

    一.下载saiku 1.下载地址 官网:https://community.meteorite.bi/ 2.解压后文件结构 3.ROOT和saiku 在tomcat/webapp 下有两个web应用, ...

  9. Tushare安装

    在python中安装tushare踩坑记录一下: 安装 lxml requests bs4 pandas 不然一直提示错误.

  10. Spring学习笔记之各个包的作用

    (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工 ...