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

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. dubbo监控中心搭建

    从网上下载了一个dubbo监控中心,地址忘了,文件名是dubbo-monitor-simple-2.5.3-assembly.tar.gz. 修改监控中心配置文件如下: dubbo.container ...

  2. 51nod1079

    模板题... 代码: #include <iostream> using namespace std; ],p[]; int main() { int n; while(cin>&g ...

  3. 团队NABCD

    NABCD 你的创意解决了用户的什么需求?(N) 每学期开学同学们都有相同的困难:我该选哪几门课?这门课到底是做什么的?有时候上一届的学长学姐会告诉我们他们觉得好的课,但这并不全面.所以我们需要一个平 ...

  4. L1-003 个位数统计

    给定一个 k 位整数 N=d​(k−1​)*​10^(​k−1)​​+⋯+d​(1)*​​10^​1​​+d(​0)​​ (0≤d(​i)​​≤9, i=0,⋯,k−1, d​(k−1)​​>0 ...

  5. Root谷歌OnHub路由器

    Exploitee.rs极客小组因破解谷歌电视而成名,并且他们还发布了许多硬件相关的工具和exp.这次他们root了OnHub路由器.并发布在了他们的博客里. Google OnHub是谷歌于今年八月 ...

  6. C# winform 编程 向ACCESS数据库导入EXCEL表使用心得

    public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...

  7. Python mode_a

    f = open("葫芦小金刚", mode="a", encoding="utf-8") # a, append 追加, 在文件的末尾写入 ...

  8. HDU 1591 Encoded Love-letter(简单字符串)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  9. Buildroot Qt 5

    /********************************************************************************* * Buildroot Qt 5 ...

  10. MVC的好处 演示

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...