数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。注意:如果你熟悉C/C++,请注意, Java数组的工作原理与它们不同。
1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。
2、数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
3、数组声明的两种形式:一、int[] arr; 二、int arr[]; 推荐使用前者,这符合Sun的命名规范,而且容易了解到关键点,这是一个int数组对象,而不是一个int原始类型。
4、在数组声明中包含数组长度永远是不合法的!如:int[5] arr; 。因为,声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
5、在数组构造的时候必须指定长度,因为JVM要知道需要在堆上分配多少空间。反例:int[] arr = new int[];
6、多维数组的声明。int[][][] arr; 是三维int型数组。
7、一维数组的构造。形如:String[] sa = new String[5]; 或者分成两句:String[] sa; sa = new String[5];
8、原始类型数组元素的默认值。对于原始类型数组,在用new构造完成而没有初始化时,JVM自动对其进行初始化。默认值:byte、short、 int、long--0 float--0.0f double--0.0 boolean--false char--'"u0000'。(无论该数组是成员变量还是局部变量)
9、对象类型数组中的引用被默认初始化为null。如:Car[] myCar = new Car[10]; 相当于从myCar[0]到myCar[9]都这样被自动初始化为myCar[i] = null;
10、对象类型的数组虽然被默认初始化了,但是并没有调用其构造函数。也就是说:Car[] myCar = new Car[10];只创建了一个myCar数组对象!并没有创建Car对象的任何实例!
11、多维数组的构造。float[][] ratings = new float[9][]; 第一维的长度必须给出,其余的可以不写,因为JVM只需要知道赋给变量ratings的对象的长度。
12、数组索引的范围。数组中各个元素的索引是从0开始的,到length-1。每个数组对象都有一个length属性,它保存了该数组对象的长度。(注意和String对象的length()方法区分开来,这两者没有统一起来是很遗憾的。)
13、Java有数组下标检查,当访问超出索引范围时,将产生ArrayIndexOutOfBoundsException运行时异常。注意,这种下标检查不是在编译时刻进行的,而是在运行时!也就是说int[] arr = new int[10]; arr[100] = 100; 这么明显的错误可以通过编译,但在运行时抛出!Java的数组下标检查是需要额外开销的,但是出于安全的权衡还是值得的,因为很多语言在使用数组时是不安全的,可以任意访问自身内存块外的数组,编译运行都不会报错,产生难以预料的后果!
分享到:
- 2009-01-02 21:42
- 浏览 1071
- 评论(0)
- 论坛回复 / 浏览 (0 / 1872)
- 查看更多
相关推荐
java-c语法8---数组的数组1 java视频 马克java社区 马克towin
在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...
java语法 数组 马克-to-win java视频 array 的详细介绍
Java 语言中的数组是存储同一类型数据集合的重要数据结构,具有固定的长度且不可变。在 `JAVA` 程序中,数组的使用是基础也是关键。数组加强练习旨在提高对数组操作的理解和熟练度。 ### 1. 数组加强练习 在实际...
适合人群:初学java语法入门测试代码 能学到什么:①注解、数组、数据类型、inet、method的实现;②多线程、oop、反射、scanner、struct等的 阅读建议:按照例子照着做或者直接运行起来,理解吸收代码
定义一维数组有两种语法形式: 1. `type[] arrayName;` 2. `type arrayName[];` 其中,`type`是元素的数据类型,`arrayName`是数组变量的名称。Java推荐使用第一种形式,因为它更具有可读性。声明数组时不指定长度...
Java 基础语法 - 数组 数组是 Java 语言中的一种基本数据结构,它可以存储多个变量(元素),这些变量的数据类型必须一致。数组既可以存储基本数据类型,也可以存储引用数据类型。 一、数组的定义和初始化 在 ...
java语法 非矩形数组 马克-to-win java视频 二重循环
创建数组的语法如下: ```java int[] array = new int[数组长度]; ``` 在本例中,数组长度是50,所以代码为: ```java int[] array = new int[50]; ``` 初始化数组时,有两种方法:静态初始化和动态初始化。静态初始...
### JAVA实验报告知识点总结 #### 实验一:输出希腊字母表 **实验目的与背景:** 本实验的主要目的是让学生熟悉Java的基本语法结构,尤其是字符及其编码处理的方式。通过编写一个简单的程序来输出从希腊字母“α”...
在Java中,数组的声明语法如下: ```java 数据类型[] 数组名; ``` 例如,如果我们想要声明一个整型数组,可以写成: ```java int[] numbers; ``` 接下来是数组的初始化。有两种主要方式来初始化数组:直接初始化和...
Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...
1. 数组的定义:理解数组的基本语法,包括声明、初始化和元素访问。 2. 数组排序:了解并实现一种或多种排序算法,如冒泡排序,选择排序,这有助于理解数据结构的处理。 3. 随机数的生成:使用`Random`类的`nextInt...
### JAVA编程基础——数组 #### 第四章 数组 **目标:** 本章节旨在全面介绍与数组相关的基础知识。学习完成后,读者应能掌握以下技能: 1. **创建数组及初始化其中的数据** 2. **理解数组在内存中的表示方式** 3....
### 华为OD机试C卷- 数组二叉树(Java & JS & Python) #### 颈椎题目概述 本题目主要考察的是利用数组来表示二叉树,并且通过深度优先搜索(DFS)的方式寻找从根节点到最小叶子节点的路径。题目描述中给出了非常...
创建数组的基本语法如下: ```java 数据类型[] 数组名 = new 数据类型[数组长度]; ``` 例如,创建一个整型数组: ```java int[] numbers = new int[5]; ``` 三、向数组中添加元素 1. 初始化时添加元素: 在声明和...
java语法 调试 马克-to-win java视频 数组 debug 单步调试加断点
java语法 while循环 马克-to-win java视频 数组 子程序
Java是一种广泛使用的面向对象的编程语言,其强大的功能...这份“04_Java基础语法_(数组)_讲义”文档将详细解析数组的各个方面,助你巩固这方面的知识。阅读并实践其中的例子,将有助于你更好地理解和运用Java数组。