编程红宝书(珍藏版) ava 完金自学手册 第4章数组 数组是经常使用的一个工具对象,说它是工具是 因为在编写程序时经常使用其良好的数据组织特 性(一种数据结构),说它是对象是因为在Java 中数组是一种动态创建的对象,它包含很多变量, 但要求变量的数据类型必须一致。数组中的数据 元素没有名称,而是通过一种特殊的访问方式即 数组下标来访问数组中的元素值。数组按维数分 为一维数组、多维数组,而多维数组中最常用的 是二维数组,本章按照这种分类方式分别介绍 维数组、二维数组和多维数组。 Q想桃工业出隙社
第4章 数组 • 数组是经常使用的一个工具对象,说它是工具是 因为在编写程序时经常使用其良好的数据组织特 性(一种数据结构),说它是对象是因为在Java 中数组是一种动态创建的对象,它包含很多变量, 但要求变量的数据类型必须一致。数组中的数据 元素没有名称,而是通过一种特殊的访问方式即 数组下标来访问数组中的元素值。数组按维数分 为一维数组、多维数组,而多维数组中最常用的 是二维数组,本章按照这种分类方式分别介绍一 维数组、二维数组和多维数组
编程红宝书(珍藏版) ava 完金自学手 4.1一维数组 维数组是具有相同数据类型数据的一种线性组 合,这里数据类型可以是Java定义的任意一种数 据类型,包括对象引用类型即对象的引用,数组 中可以存放相同类的多个对象。本节按照定义 维数组、初始化一维数组和一维数组的使用依次 讲解一维数组。 Q想桃工业出隙社
4.1 一维数组 • 一维数组是具有相同数据类型数据的一种线性组 合,这里数据类型可以是Java定义的任意一种数 据类型,包括对象引用类型即对象的引用,数组 中可以存放相同类的多个对象。本节按照定义一 维数组、初始化一维数组和一维数组的使用依次 讲解一维数组
编程红宝书(珍藏版) ava 完金自学手 4.1.1定义一维数组 维数组的定义方式是: datatype array Name[] exdatatypel arrayName 其中type为任意数据类型,数组中的数据元素也是type类型, arrayName是数组名称,在编写程序时该名称应该具有一定的意义。[] 是数组的标识符,此时定义了一个数组,但数组中没有数据元素,也 就是说Java允许定义一个数组但数据元素的数量为0,通常称这样的 数组为空数组。空数组没有获得内存空间,所以无法使用,必须new 关键字为数据分配内存空间如下例子所示 arrayName new array Name lsize]; 在Java中new关键字的作用是产生该类的某个对象,并为该对象分配 内存空间,内存空间的大小视对象大小而定,如一个 double类型的浮 点数据对象肯定比int类型的整型数据对象分配的内存空间更大。 面举例定义int型数组。 int IntArrayExample new int[100] 这里int是声明了数组中元素的数据类型,数组名字是 IntArray Example。new关键字为该数据类型分配内存空间,空间大小 是100个整型int型数据的大小,即4(字节)*100=400字节的内存 空间 Q 机械工业出版社 China Machine Press
4.1.1 定义一维数组 • 一维数组的定义方式是: • datatype arrayName[ ] 或datatype[] arrayName; • 其中type为任意数据类型,数组中的数据元素也是type类型, arrayName是数组名称,在编写程序时该名称应该具有一定的意义。[] 是数组的标识符,此时定义了一个数组,但数组中没有数据元素,也 就是说Java允许定义一个数组但数据元素的数量为0,通常称这样的 数组为空数组。空数组没有获得内存空间,所以无法使用,必须new 关键字为数据分配内存空间如下例子所示。 • arrayName = new arrayName[size]; • 在Java中new关键字的作用是产生该类的某个对象,并为该对象分配 内存空间,内存空间的大小视对象大小而定,如一个double类型的浮 点数据对象肯定比int类型的整型数据对象分配的内存空间更大。下 面举例定义int 型数组。 • int IntArrayExample = new int[100]; • 这里int是声明了数组中元素的数据类型,数组名字是 IntArrayExample。new关键字为该数据类型分配内存空间,空间大小 是100个整型int型数据的大小,即4(字节)*100 = 400字节的内存 空间
编程红宝书(珍藏版) ava 完金自学手 4.1.2初始化一维数组 用new关键字为数组分配了存储空间后,对于数组中的元素 “到底是什么”仍然无法确定,所以需要为已经分配了存 储空间的数组填充相应的数据,这就是数组初始化的作用。 维数组初始化的格式 datatype arrayName new typelvaluel, value 2, value 3] 在数组标符[内是type类型的数组值,这里初始化了一个 类型为type的一维护数组,数组中包含3个type数据类型的 数据元素,数据值依次是 valuel, value2, value3,数据 值之间使用“,”隔开,这里的“,”是在英文输入法下输入的 如果是其它输入法输入,在编译期会发生编译错误提示 ·当然也可以先定义数组,定义后再初始化数组如: datat ype array Name [] arrayName new datatype [valuel, value2, value3 Q 机械工业出版社 China Machine Press
4.1.2 初始化一维数组 • 用new关键字为数组分配了存储空间后,对于数组中的元素 “到底是什么”仍然无法确定,所以需要为已经分配了存 储空间的数组填充相应的数据,这就是数组初始化的作用。 一维数组初始化的格式: • datatype arrayName = new type[value1,value2,value3]; • 在数组标符[]内是type类型的数组值,这里初始化了一个 类型为type的一维护数组,数组中包含3个type数据类型的 数据元素,数据值依次是value1,value2,value3,数据 值之间使用“ , ”隔开,这里的“ , ”是在英文输入法下输入的, 如果是其它输入法输入,在编译期会发生编译错误提示。 • 当然也可以先定义数组,定义后再初始化数组如: • datatype arrayName[]; • arrayName = new datatype[value1,value2,value3];
编程红宝书(珍藏版) ava 完金自学手 4.1.3使用一维数组 在定义和初始化了数组后,就可以使用数组进行 数组的使用,这里“使用”主要强调对数组中数 据元素的操作。在本章开始处提到数组元素的获 得通过一种特殊的方式,即通过下标访问数组元 素,如果数组的长度为n则可通过从0到n-1的整数 索引获得相应位置的元素,数组元素的第一个值 的整数索引为0,即 Intarray[0表示数组的第 个数据元素。如数组 Intarray int Intarray[]={19,78,4,18,77 数组包含5个数据元素,其中 Intarray[O]=19, Intarray[4]=77。 Q想桃工业出隙社
4.1.3 使用一维数组 • 在定义和初始化了数组后,就可以使用数组进行 数组的使用,这里“使用”主要强调对数组中数 据元素的操作。在本章开始处提到数组元素的获 得通过一种特殊的方式,即通过下标访问数组元 素,如果数组的长度为n则可通过从0到n-1的整数 索引获得相应位置的元素,数组元素的第一个值 的整数索引为0,即IntArray[0]表示数组的第一 个数据元素。如数组IntArray : • int IntArray[] = {19,78,4,18,77}; • 数组包含5个数据元素,其中IntArray[0]=19, IntArray[4]=77