赞
踩
Java数组和随机数.ppt
数组 2 3数组 在Java语言中 数组是一种最简单的复合数据类型 引用数据类型 数组是有序数据的集合 数组中的每个元素具有相同的数据类型 可以用一个统一的数组名和下标来唯一地确定数组中的元素 数组有一维数组和多维数组 我们将在后面的课程中介绍 2 3数组 一维数组 定义 一维数组的定义方式为 type arrayName 其中类型 type 可以为Java中任意的数据类型 包括简单类型和组合类型 数组名arrayName为一个合法的标识符 指明该变量是一个数组类型变量 例如 int intArray 声明了一个整型数组 数组中的每个元素为整型数据 我们还可以定义一个复合类型的数组 例如 Date dateArray 声明了一个容纳复合数据类型Date的数组 与C C 不同 Java在数组的定义中并不为数组元素分配内存 因此 中不用指出数组中元素的个数 即数组长度 而且对于如上定义的一个数组是不能访问它的任何元素的 必须经过初始化后 才能应用数组的元素 2 3数组 一维数组 定义 除了这种定义数组的方式之外 java语言还提供了其他的定义形式 如下所示 TypearrayName 对于以上举出的例子 我们也可以这样定义 intintArray DatedateArray 2 3数组 一维数组 定义 一维数组定义之后 必须经过初始化才可以引用 数组的初始化分为静态初始化和动态初始化两种 静态初始化 在定义数组的同时对数组元素进行初始化 例如 int intArray 1 2 3 4 定义了一个含有4个 元素的int型数组 2 3数组 一维数组 初始化 动态初始化 使用运算符new为数组分配空间 对于简单类型的数组 其格式如下 typearrayName newtype arraySize type arrayName newtype arraySize 对于复合类型的数组 需要经过两步空间分配 首先 typearrayName newtype arraySize 然后 arrayName 0 newtype paramList arrayName arraySize 1 newtype paramList 2 3数组 一维数组 初始化 例如 StringstringArrar 定义一个String类型的数组stringArray newString 3 给数组stringArray分配3个应用 空间 初始化每个引用值为nullstringArray 0 newString how stringArray 1 newString are stringArray 2 newString you 初始化各数组元素 2 3数组 一维数组 初始化 当定义了一个数组 并用运算符new为它分配了内存空间后 就可以引用数组中的每一个元素了 元素的引用方式为 arrayName index index为数组下标 可以是整型常数或表达式 如 arrayName 1 arrayName i arrayName 6 i 等 下标是0序的 即从0开始 一直到数组长度减1 2 3数组 一维数组 引用 另外 与C C 中不同 Java对数组元素要进行越界检查以保证安全性 同时 对于每个数组都有一个属性length指明它的长度 例如 intArray length指明数组intArray的长度 2 3数组 一维数组 边界检查 publicclassArrayTest publicstaticvoidmain Stringargs inti inta newint 5 for i 0 i 0 i System out println a i a i 该程序对数组中的每个元素赋值 然后按逆序输出 2 3数组 一维数组 示例 运行结果为 C javaArrayTesta 4 4a 3 3a 2 2a 1 1a 0 0 2 3数组 一维数组 示例 在任何语言中 多维数组都被看作数组的数组 比如二维数组是一个特殊的一维数组 其每一个元素又是一个一维数组 我们主要以二维数组为例来说明 高维数组与此类似 2 3数组 多维数组 Stringstr newString 3 4 Str 0 Str 1 Str 2 二维数组的定义方式typearrayName 例如 intintArray 也可以采用另一种定义方式 type arrayName 与一维数组一样 这时对数组元素也没有分配内存空间 同样要使用运算符new来分配内存 然后才可以访问每个元素 2 3数组 二维数组 定义 二维数组的初始化也分为静态和动态两种 静态初始化 在定义数组的同时为数组分配空间 intintArray 1 2 2 3 3 4 不必指出数组每一维的大小 系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小 2 3数组 二维数组 初始化 动态初始化 对高维数组来说 分配内存空间有下面两种方法 1 直接为每一维分配空间 如 typearrayName newtype arraylength1 arraylength2 例如 inta newint 2 3 2 3数组 二维数组 初始化 2 从最高维开始 而且必须从最高维开始 分别为每一维分配空间 如 Strings newString 2 s 0 newString 2 s 1 newString 3 s 0 0 newString Good s 0 1 newString Luck s 1 0 newString to s 1 1 newString you s 1 2 newString 2 3数组 二维数组 初始化 课堂练习 找出一个int数组中的平均值找出一个int数组中和平均值最接近的那个值1 1 2 1 2 3 1 2 3 4 10 随机函数 随机数Math random newRandom nextInt intmaxi 小结2 用数组和随机函数编程 生成一个4 4的二维数组编写一个方法appear 模拟在二维数组的任意位置出现地鼠 并打印地鼠出现位置 用o表示 地鼠生成后 地鼠出现位置标记为X 并无法再次产生地鼠二维数组被X占满后程序退出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。