`

Java数组初始化

阅读更多

1.Java 数组初始化的两种方法:    

 

        静态初始化: 程序员在初始化数组时为数组每个元素赋值;

        动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。

public class ArrayInit {
	public static void main(String[] args) {
		
		//静态初始化数组:方法一
		String cats[] = new String[] {
				"Tom","Sam","Mimi"
		};
		
		//静态初始化数组:方法二
		String dogs[] = {"Jimmy","Gougou","Doggy"};
		
		//动态初始化数据
		String books[] = new String[2];
		books[0] = "Thinking in Java";
		books[1] = "Effective Java";
		
		System.out.println(cats.length);
		System.out.println(dogs.length);
		System.out.println(books.length);
	}
}

        Java数组是一种引用数据类型。数组变量并不是数组本身,而是指向堆内存中存放的数组对象。因此,可以改变一个数组变量所引用的数组。看下面这段代码:

public class ArrayInit {
	public static void main(String[] args) {
		
		//静态初始化数组:方法一
		String cats[] = new String[] {
				"Tom","Sam","Mimi"
		};
		
		//静态初始化数组:方法二
		String dogs[] = {"Jimmy","Gougou","Doggy"};
		
		//动态初始化数据
		String books[] = new String[2];
		books[0] = "Thinking in Java";
		books[1] = "Effective Java";
		
		cats = dogs;
		books = dogs;
		printArray(cats);
		printArray(dogs);
		printArray(books);
	}
	
	private static void printArray(String[] arr) {
		for(int i=0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

  2.数组是否必须初始化

        对于这个问题,关键在于要弄清楚数组变量和数组对象的差别。数组变量是存放在栈内存中的,数组对象是存放在堆内存中的。数组变量只是一个引用变量,他能够指向实际的数组对象。

      所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化。




分享到:
评论
1 楼 Lyleluo 2015-04-24  
深圳java群 397083120 求职,学习全包,外加小美女哦

相关推荐

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    java数组初始化详解修正版.doc

    ### Java 数组初始化详解 #### 一、概述 在 Java 中,数组是一种基本的数据结构,用于存储固定数量的同类型元素。数组初始化是指为数组分配内存,并为其中的元素设置初始值的过程。根据不同的初始化方式,Java ...

    45.java数组动态初始化.zip

    45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...

    44.java数组静态初始化.zip

    44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...

    JAVA数组初始化及应用参考.pdf

    数组初始化 初始化分为三种方式: #### (1) 动态初始化 在声明数组之后,再为数组分配空间并逐个赋值。如`TestD.java`示例所示: ```java int[] a; a = new int[3]; a[0] = 0; a[1] = 1; a[2] = 2; ``` #### (2...

    Java数组初始化时内存分配情况解析.pdf

    数组初始化时,Java会为数组的所有元素分配内存,并根据初始化列表为每个元素赋予初始值。对于未初始化的数组,如`int[] b = new int[5];`,虽然在堆上分配了足够的空间,但元素的初始值默认为该类型的默认值(如int...

    52.java二维数组静态初始化.zip

    52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化....

    51.java二维数组动态初始化.zip

    51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化....

    java语法\Java数组声明、创建、初始化

    数组初始化 Java数组的初始化有三种方式:动态初始化、静态初始化和默认初始化。 动态初始化 动态初始化是指数组定义与为数组分配空间和赋值的操作分开进行。例如,`int a[]; a = new int[3];`创建了一个名为`a`...

    Java数组练习题(带答案).doc

    9. **数组初始化**:数组初始化包括声明数组类型、指定数组长度以及为每个元素赋值。 10. **数组越界异常**:如果数组下标访问超出索引范围,会抛出`ArrayIndexOutOfBoundsException`异常。 11. **浮点型数组的...

    java数组初始化笔试题-yvm:[yvm]低性能垃圾回收jvm

    java数组初始化笔试题 | | | | | 这是一个用 C++ 编写的自制 Java 虚拟机,它支持大多数 Java 语言功能,并包含一个基于标记清除的并发垃圾收集器。 此 VM 的主要组件符合 . 它是可运行的,各种语言功能将逐步添加到...

    Java数组与内存控制

    ##### 1.1 数组初始化 - **声明数组的时候如何分配内存:** - 在Java中,数组的声明并不直接分配内存,而仅仅是创建了一个数组引用变量。例如: ```java int[] arr; ``` - 上述声明仅创建了一个引用变量`arr`...

    数组初始化 数组的两种初始化方式

    Java 中数组初始化有两种方式:静态初始化和动态初始化。 静态初始化是指在数组声明时直接赋值的方式,例如:int[] a = {1, 2, 3, 4, 5}; 这种方式可以在数组声明时直接指定数组元素的值。 动态初始化是指在数组...

    Java程序设计基础:一维数组初始化.pptx

    一维数组初始化 目录 课程导入 掌握一维数组元素的访问方法 掌握一维数组的初始化方法 熟知一维数组的长度属性 掌握输出一维数组所有元素值的方法 访问数组元素 0.0 0.0 0.0 0.0 0.0 [0] [1] [2] [3] [4] myList 首...

    Java程序设计基础:二维数组初始化.pptx

    掌握二维数组初始化的简写方法; 学习目标 课程导入 3 掌握使用双重循环遍历二维数组的方法; 4 了解使用输入值给二维数组初始化的方法 5 掌握使用随机数给二维数组初始化的方法 二维数组—元素访问 二维数组元素...

    Java数组越界问题实例解析

    Java数组越界问题实例解析 在Java中,数组是一种非常重要的数据结构,它广泛应用于各种场景中。然而,在使用数组时,开发者最容易遇到的问题之一就是数组越界问题。数组越界问题是指在访问数组时,索引值超出了数组...

    Java数组版ATM

    在Java编程中,"Java数组版ATM"项目是一个典型的面向对象设计实例,它通过数组来模拟自动取款机(ATM)的功能。这个项目旨在教授如何利用Java语言中的类、对象、数组以及相关的面向对象设计原则来实现一个简单的银行...

    数组初始化-参考价值不大,需要的下.docx

    数组初始化是创建并设置数组元素值的过程,这对于理解和使用Java数组至关重要。在本文中,我们将深入探讨Java中数组的三种初始化方式,并通过实例来理解每种方式的工作原理。 首先,我们来看一道选择题,它涉及到...

    java数组的初始化及操作详解

    Java 数组的初始化及操作详解 Java 数组是一种基本的数据结构,用于存储多个相同类型的元素。数组的初始化和操作是 Java 编程的基础知识,本文将对 Java 数组的初始化和操作进行详细的讲解。 一、数组的基本概念 ...

    Java数组特点及基本使用技巧

    2. 基本类型数组初始化:基本类型数组会自动初始化成零(针对数值类型),(Char)0(针对字符类型)或者false(针对布尔类型)。 关于数组引用的问题 1. 数组引用:数组引用只是复制了一个引用,例如int[] a1 = {...

Global site tag (gtag.js) - Google Analytics