第5章、数组和字符串.pptVIP

  • 1
  • 0
  • 约1.13万字
  • 约 41页
  • 2018-03-09 发布于河南
  • 举报
第5章、数组和字符串

Java将多维数组看作数组的数组。例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。 二维数组的声明与一维数组基本相同,只是后面再加上一对中括号“[]”。创建二维数组时,可指定各维的长度或至少指定第一维的长度,也可采用直接赋值的方法确定二维数组的长度。此时,按照给定的值序依次填满数组每一行中的元素。更高维的情况是类似的。下面以二维数组为例来进行说明。例如: 5.3.3 多维数组 int arr1[][]=new int[3][4]; int arr2[][]=new int[3][ ]; int arr3[][]={{0,1,2},{3,4,5},{6,7,8}}; Java中二维数组有一个好处是第二维的长度可以不相等。例如arr2的第二维长度可以分别选取为3、4、5,适用于数组元素不等的情况。 5.3.4 数组的创建和初始化 在Java中,数组可以是任何类型的──原始类型或类类型,也就是说,数组元素可以是原始类型的量,也可以是某一个类的对象。 在Java中,一个数组的创建一般需要以下三个步骤: 1.数组的声明 数组元素类型 数组名[ ]; 数组元素类型 [ ] 数组名; 2.创建数组空间 数组名=new 数组元素类型[数组长度]; 创建数组空间的工作可以和声明数组的工作组合在一起,用一条语句来实现。如 : int a[]; a= new int[20]; 等价于: int a[]= new int[20]; 3.初始化数组 数组中的各元素是有先后次序的,每个数组元素用数组的名字和它在数组中的位置来表达。在上面创建的数组a中,a[0]表示数组a中的第一个元素,如a[1]表示数组a中的第二个元素,依次类推,数组中的最后一个元素为a[19]。 初始化数组就是要使数组中的各个元素有确定的数值。如果数组元素的类型是基本数据类型,由于基本数据类型都有缺省值,数组元素都自动初始化为缺省值,这个步骤可以省略。比如上面的数组中的每一个元素值都是0。对于以某个类的对象为数组元素的数组,初始化每个数组元素是必须的。 对于数组有几个需要注意的地方: (1)所有的数组都有一个属性length,这个属性存储了数组元素的个数。 (2)Java编程环境会自动检查数组下标是否越界。 4. 数组的数组 Java编程语言中,因为一个数组可被声明为任何类型,所以可以创建数组的数组、数组的数组的数组,等等。 5. 复制数组 System.arraycopy(from,fromIndex, to,toIndex,count); 该方法从数组from的索引fromIndex位置起,复制count个元素到数组to的从索引toIndex位置开始的地方。这里要注意,目标数组必须在调用arraycopy之间分配内存,而且这个内存空间必须足够容纳被复制的数据。 5.3.4 数组类Arrays 在“java.util”包中,专门有一个数组类Arrays,该类提供了一些方法用于排序、查找等操作,在编制程序中可以直接使用这些方法。 1.排序 在编制程序中可以直接使用类Arrays提供的某个sort方法,来对数组排序。sort方法常见的使用形式如下: public static void sort(Xxx a[]) 该方法用改进的快速排序方法对指定的数组a进行排序,其中数组a是类型为char、byte、short、int、long、float、double或者boolean的一个数组。 sort方法还有另外一种常见的形式: public static void sort(Xxx a[], int fromIndex,int toIndex) 这种形式只对数组a中指定范围内的元素(从a[fromIndex]到a[toIndex]之间的元素,其中不包含a[toIndex])排序。 2.查找 public static int binarySearch (Xxx a[],Xxx v) 该方法用折半查找算法在指定的数组a查找值为v的元素。其中数组a是类型为char、byte、short、int、long、float、double或者boolean的一个数组,v是与数组a的元素类型相同

文档评论(0)

1亿VIP精品文档

相关文档