Java数组初始
首先要清楚数组变量与数组对象的概念。数组变量是一个引用变量,可以指向数组对象。
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数组初始的更多相关文章
- Java数组及其内存分配
几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...
- Java 数组声明与初始化
引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...
- Java数组(初学者必看)
数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同.但凡写过一些程序的人都知道数组的价值及理解数组的重要性,与链表一道,数组成为了基本的数据结构.尽管Java提供了 ...
- java数组与内存控制
1.1数组的初始化 数组是大多数编程语言都提供一种的复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组.java语言的数组变量时引用类型的变量,因此具有java独有的特性. java数 ...
- Java数组你知多少?
下面我带大家一起加深一下对Java数组的认识: 1.理解数组 数组也是一种数据类型,本身就是一种引用类型,我们从它的初始化方法,通过关键字new去完成定义及初始化就可以知道. 数组的长度是不变的,一旦 ...
- Java数组的内存管理
Java数组的内存管理 Java语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的.Java程序中的数组必须经初始化才能使用.所谓初始化,就是当数组对象的元 ...
- Java数组的复制全解
1.将一个基本数据类型数组的引用赋值给另一个数组 public class Array_copy { int[] array1=new int[]{1,2,3,4,5,6}; int[] array2 ...
- Java基础学习-Random类和Java数组
1.随机数类(Random) package com.denniscui; import java.util.Random; /* * Random:用于产生随机数 * * 使用步骤: * ...
- Java数组(int为例)
Java数组(int为例) 定义:相同数据类型的数据的组合,是一种引用类型,是一个对象,存在堆里. 数组初始化:int[] scores1 = new int[]{72,90,59};//静态初始化: ...
随机推荐
- dubbo监控中心搭建
从网上下载了一个dubbo监控中心,地址忘了,文件名是dubbo-monitor-simple-2.5.3-assembly.tar.gz. 修改监控中心配置文件如下: dubbo.container ...
- 51nod1079
模板题... 代码: #include <iostream> using namespace std; ],p[]; int main() { int n; while(cin>&g ...
- 团队NABCD
NABCD 你的创意解决了用户的什么需求?(N) 每学期开学同学们都有相同的困难:我该选哪几门课?这门课到底是做什么的?有时候上一届的学长学姐会告诉我们他们觉得好的课,但这并不全面.所以我们需要一个平 ...
- 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 ...
- Root谷歌OnHub路由器
Exploitee.rs极客小组因破解谷歌电视而成名,并且他们还发布了许多硬件相关的工具和exp.这次他们root了OnHub路由器.并发布在了他们的博客里. Google OnHub是谷歌于今年八月 ...
- C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...
- Python mode_a
f = open("葫芦小金刚", mode="a", encoding="utf-8") # a, append 追加, 在文件的末尾写入 ...
- HDU 1591 Encoded Love-letter(简单字符串)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- Buildroot Qt 5
/********************************************************************************* * Buildroot Qt 5 ...
- MVC的好处 演示
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...