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

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. win10激活工具---KMSAutoNet

    win10激活工具---KMSAutoNet 1> 2> 3> 4> 5> 6> 8>

  2. PHP:第二章——PHP中的switch语句

    <?php header("Content-Type:text/html;charset=utf-8"); /* switch语句: */ //例1: /*$i = 99; ...

  3. c++多态多实例

    #include <bits/stdc++.h> using namespace std; class A { public: A() { cout << "构造A& ...

  4. [转载]oracle建表语句大全

    原文URL:http://blog.csdn.net/haiross/article/details/11772847 Oracle创建表语句(Create table)语法详解及示例   创建表(C ...

  5. The "Double-Checked Locking is Broken" Declaration

    双重检查锁定在延迟初始化的单例模式中见得比较多(单例模式实现方式很多,这里为说明双重检查锁定问题,只选取这一种方式),先来看一个版本: public class Singleton { private ...

  6. JS实现点击按钮,下载文件

    PS:本文说的,并非如何用js创建流.创建文件.实现下载功能. 而是说的:你已知一个下载文件的后端接口,前端如何请求该接口,实现点击按钮.下载文件到本地.(可以是zip啦.excel啦都是一样) 有两 ...

  7. 玩转X-CTR100 l STM32F4 l U-Blox NEO-6M GPS卫星定位-nmealib解码库移植解码

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 扩展GPS ...

  8. DIY微型操作系统(1)—— 开发的准备

    这个连载是根据<30天自制操作系统>这本书所写 只是类似于补充之类的东西,要详细的讲解,还请参照书上的内容 所以,首先我们要感谢作者川合秀实先生!(鞠躬) 为什么我想写这么一个补充的? 因 ...

  9. JSP--TOMCAT-MYSQL web页面查询

    queryStudent.jsp代码如下 <%@ page language="java" contentType="text/html; charset=gb23 ...

  10. influx+grafana自定义python采集数据和一些坑的总结

    先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,注意其中几个key的值必须是int或者float类型,如果你不慎写成了strin ...