`
nenty
  • 浏览: 114421 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java语法总结 - 数组

 
阅读更多
数组(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的数组下标检查是需要额外开销的,但是出于安全的权衡还是值得的,因为很多语言在使用数组时是不安全的,可以任意访问自身内存块外的数组,编译运行都不会报错,产生难以预料的后果!
分享到:
评论

相关推荐

    java-c语法8---数组的数组1---马克-to-win java视频

    java-c语法8---数组的数组1 java视频 马克java社区 马克towin

    day002 JAVA语法基础-数组入门.doc

    在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...

    java-c语法8---数组---马克-to-win java视频

    java语法 数组 马克-to-win java视频 array 的详细介绍

    day002 JAVA语法基础-数组加强.doc

    Java 语言中的数组是存储同一类型数据集合的重要数据结构,具有固定的长度且不可变。在 `JAVA` 程序中,数组的使用是基础也是关键。数组加强练习旨在提高对数组操作的理解和熟练度。 ### 1. 数组加强练习 在实际...

    Java基础语法测试-基础数据类型-注解-数组-inet-反射-oop-Java代码实现

    适合人群:初学java语法入门测试代码 能学到什么:①注解、数组、数据类型、inet、method的实现;②多线程、oop、反射、scanner、struct等的 阅读建议:按照例子照着做或者直接运行起来,理解吸收代码

    Java学习资料-数组

    定义一维数组有两种语法形式: 1. `type[] arrayName;` 2. `type arrayName[];` 其中,`type`是元素的数据类型,`arrayName`是数组变量的名称。Java推荐使用第一种形式,因为它更具有可读性。声明数组时不指定长度...

    Python-100-Days-java入门 - 数组基础

    在“Python-100-Days-java入门 - 数组基础”这一主题下,我们可以预见到将会接触到多个与数组相关的知识点,例如数组的声明和实例化、数组的基本操作、数组的排序与搜索算法、多维数组的应用等。掌握这些知识点能够...

    day07-基础语法-数组

    Java 基础语法 - 数组 数组是 Java 语言中的一种基本数据结构,它可以存储多个变量(元素),这些变量的数据类型必须一致。数组既可以存储基本数据类型,也可以存储引用数据类型。 一、数组的定义和初始化 在 ...

    java-c语法8---非矩形数组---马克-to-win java视频

    java语法 非矩形数组 马克-to-win java视频 二重循环

    Java基础--数组练习1(让你醍醐灌顶!!!)

    创建数组的语法如下: ```java int[] array = new int[数组长度]; ``` 在本例中,数组长度是50,所以代码为: ```java int[] array = new int[50]; ``` 初始化数组时,有两种方法:静态初始化和动态初始化。静态初始...

    JAVA实验报告-数组.docx

    ### JAVA实验报告知识点总结 #### 实验一:输出希腊字母表 **实验目的与背景:** 本实验的主要目的是让学生熟悉Java的基本语法结构,尤其是字符及其编码处理的方式。通过编写一个简单的程序来输出从希腊字母“α”...

    02-Java基础(数组-常见操作-遍历

    在Java中,数组的声明语法如下: ```java 数据类型[] 数组名; ``` 例如,如果我们想要声明一个整型数组,可以写成: ```java int[] numbers; ``` 接下来是数组的初始化。有两种主要方式来初始化数组:直接初始化和...

    blog-java入门 - 数组基础

    总结数组的基础知识对于任何想要学习Java的初学者来说,都是一块踏脚石,它为后续学习更高级的概念和技能奠定了基础。因此,本篇内容着重强调了数组的声明、初始化、遍历、排序、异常处理以及多维数组的应用,希望为...

    java入门 - 数组基础-chapter08.rar

    例如,使用花括号语法可以简写数组的初始化过程:`int[] myArray = {1, 2, 3, 4, 5};`。 访问数组元素时,我们需要提供数组的索引。例如,获取上面数组的第三个元素,可以使用`myArray[2]`,索引从0开始计数,所以...

    java入门 - 数组基础-chapter06.rar

    在学习数组的过程中,除了掌握基本的语法和操作,还需要学会如何处理常见的数组问题,比如数组的排序、搜索和修改。这些操作在实际编程中非常实用,而且能够加深对数组特性的理解。 Java数组基础是学习Java语言的...

    java入门 - 数组基础-chapter07.rar

    在Java中,声明数组的语法非常直接,例如声明一个整型数组可以用如下方式进行: ```java int[] myArray; ``` 紧接着,数组的初始化是创建数组并在内存中为其分配空间的过程。在Java中,可以采用静态初始化或动态初始...

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

    Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...

    Java程序设计课程实验4-数组

    1. 数组的定义:理解数组的基本语法,包括声明、初始化和元素访问。 2. 数组排序:了解并实现一种或多种排序算法,如冒泡排序,选择排序,这有助于理解数据结构的处理。 3. 随机数的生成:使用`Random`类的`nextInt...

    通讯录管理系统 - 数组 - 版本

    本系统采用数组作为数据结构基础,利用Java编程语言实现,通过面向对象的方法构建。在面向对象编程(OOP)中,类是创建对象的模板,它定义了对象将要拥有的属性和方法。对象是类的实例,可以包含数据和对数据进行...

Global site tag (gtag.js) - Google Analytics