华南农业大学:《面向对象的程序设计》 第七章 数组

大串 South China Agr icultur al University 第七章数组
第七章 数组

主要内容: 71数组元素 7.2声明数组和使用数组 73对象数组 7.4命令行参数 7.5可变长度参数列表 7.6二维数组与多位数组 77 Array List类 78多边形与折线 79鼠标事件 7.10键盘事件
主要内容: ◼ 7.1 数组元素 ◼ 7.2 声明数组和使用数组 ◼ 7.3 对象数组 ◼ 7.4 命令行参数 ◼ 7.5 可变长度参数列表 ◼ 7.6 二维数组与多位数组 ◼ 7.7 ArrayList类 ◼ 7.8 多边形与折线 ◼ 7.9 鼠标事件 ◼ 7.10 键盘事件

7.1数组元素 口数组是一个含有多个值的列表,每个值存在于数组的 特定的、具有编号的位置。对应每个位置的编号称为索 引或者下标。 数组中每个元素类型相同,各元素存于 数组名数组中特定的、具有编号的位置。 下标 0123456789 scores79879482679887817491 大小为N的数组它的下标值是0到n-1 当前数组的大小是10,索引是从0到9
数组是一个含有多个值的列表,每个值存在于数组的 特定的、具有编号的位置。对应每个位置的编号称为索 引或者下标。 0 1 2 3 4 5 6 7 8 9 79 87 94 82 67 98 87 81 74 91 大小为N的数组它的下标值是0到 n-1 scores 数组名 下标 当前数组的大小是10,索引是从0到9 7.1 数组元素 数组中每个元素类型相同,各元素存于 数组中特定的、具有编号的位置

术大孝 ■访问数组的方式是:数组名[索引值] scores[27 表达式 sCores[2]引用一个具体内存单元的整型值 并且可以用于任何使用整型变量的场合 ■可以对 scores[2]赋值、用计算或者输出 scores[2]的值。 ■数组索引是一个整型值,可以使用整型表达式指定用 于访问数组的素引。 scores[2]=89 scores[first]= scores[first+ 2, mean=(scores[o]+ scores[1])2, System, out println(" Top=+scores[5]);
◼ 访问数组的方式是: 数组名[索引值] ◼ scores[2] ◼ 表达式 scores[2] 引用一个具体内存单元的整型值, 并且可以用于任何使用整型变量的场合。 ◼ 可以对scores[2]赋值、用于计算或者输出scores[2]的值。 ◼ 数组索引是一个整型值,可以使用整型表达式指定用 于访问数组的索引。 scores[2] = 89; scores[first] = scores[first] + 2; mean = (scores[0] + scores[1])/2; System.out.println ("Top = " +scores[5]);

72声明数组和使用数组 ■保存在数组中的值称为数值元素,值的类型成为数组 元素类型 ■保存在一个数组中的所有值具有相同的类型 个数组可以保存任何基本类型数据或者是对象。 ■在Java中,数组是对象,要建立数组,必须声明数组 应用变量,然后可以用new运算符实例化数组,为数 组分配保存值的内存空间
◼ 保存在数组中的值称为数值元素,值的类型成为数组 元素类型。 ◼ 保存在一个数组中的所有值具有相同的类型。 ◼ 一个数组可以保存任何基本类型数据或者是对象。 ◼ 在Java中,数组是对象,要建立数组,必须声明数组 应用变量,然后可以用new运算符实例化数组,为数 组分配保存值的内存空间。 7.2 声明数组和使用数组

大串 South China Agr icultur al University ■数组声明和初始化方法: scores 79 87 int[] scores new int[l0]i scores 94 ■或 int scores[]= new int[10]; 82 或int[] scores= 67 98 79,87,94,82,67,98,87,81,74,91}; 87 使用初始值表就不需要用new运算符。 81 上面的语句执行结果如图1: 74 如果继续对数组 scores初始化: 91 结果如图2: 图2 图1
6 ◼ 数组声明和初始化方法: ◼ int[] scores = new int[10]; ◼ 或 int scores[] = new int[10]; ◼ 或 int[] scores = {79,87,94,82,67,98,87,81,74,91}; 使用初始值表就不需要用new运算符。 ◼ 上面的语句执行结果如图1: ◼ 如果继续对数组scores初始化: 结果如图2: scores scores 79 87 94 82 67 98 87 81 74 91 图1 图2

■声明数组 scores: scores 79 ■数组变量的类型(int])中 87 没有指定数组的大小 94 82 ■用new运算符实例化数组 67 后,预留了存放10个整型的 98 87 内存空间,索引好是0到9 81 74 旦将数组声明为确定的 91 大小后,该数组能够保存的 值的个数就不可以再改变 数组 scores声明: int[] scores new int[10]
◼ 声明数组 scores : scores 79 87 94 82 67 98 87 81 74 91 数组scores声明 : int[ ] scores = new int[10]; ◼ 数组变量的类型(int[ ])中 没有指定数组的大小。 ◼ 用new运算符实例化数组 后,预留了存放10个整型的 内存空间,索引好是0到9。 ◼ 一旦将数组声明为确定的 大小后,该数组能够保存的 值的个数就不可以再改变

声明数组 float[i prices new float [500 用于指定数组索引的 ■ boolean[]fags; 方括号在java中解释 为运算符,在java所 有的运算符中,索引 ■ flags= new boolean[20];预算符“[y有最高 的优先级。 char[ codes= new char[1750
◼float[ ] prices = new float [500]; ◼boolean[ ] flags; ◼ flags = new boolean[20]; ◼ char[ ] codes = new char[1750]; 声明数组 用于指定数组索引的 方括号在java中解释 为运算符,在java所 有的运算符中,索引 预算符 “[ ]”有最高 的优先级

术大孝 在处理数组元素的时候,可以使用 foreach语句来处理。 for (int score scores) System. out. println (score)i Java数组都是迭代器 能够使用for循环的迭代 等价于: 器版提取指定迭代器中的 int score: 每个值。 while scores. hasnexto) 该循环适用在处理数组 score= scores. next(; 所有元素的情形,并且处 system. out. printIn( score);的顺序是从索引值的最 小值到最大值。 例题71 BasicArray. java P243
◼ 在处理数组元素的时候,可以使用foreach语句来处理。 for (int score : scores) System.out.println (score); 等价于: int score; while(scores.hasnext()) { score= scores.next() ; system.out.println(score); } 该循环适用在处理数组 所有元素的情形,并且处 理的顺序是从索引值的最 小值到最大值。 例题7.1 BasicArray.java (P243) Java数组都是迭代器 能够使用for循环的迭代 器版提取指定迭代器中的 每个值

7.2.1边界检查 旦数组被创建,它的大小就固定了 ■索引预算符会自动执行边界检查,可以保证只引用 数组有效范围内的索引置。 当访问一个数组的元素的时候,索引值必须大于等于 0并且小于等于数组的大小,否则将抛出异常 ArrayIndexOutofBoundsEXception 数组的这一操作叫做自动边界检查。 例如:int[]= new int[100] problem for (int index=0; index <=(100 index++) codes [index]= index*50+ epsilon;
◼ 一旦数组被创建,它的大小就固定了。 ◼ 索引预算符会自动执行边界检查,可以保证只引用 数组有效范围内的索引置。 ◼ 当访问一个数组的元素的时候,索引值必须大于等于 0 并且小于等于数组的大小,否则将抛出异常 ArrayIndexOutOfBoundsException. ◼ 数组的这一操作叫做自动边界检查。 7.2.1 边界检查 例如: int [ ] = new int [ 100] for (int index=0; index <= 100; index++) codes[index] = index*50 + epsilon; problem
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南农业大学:《面向对象的程序设计》 第六章 面向对象设计.ppt
- 华南农业大学:《面向对象的程序设计》 第五章 条件和循环语句.ppt
- 华南农业大学:《面向对象的程序设计》 第四章 编写类.ppt
- 华南农业大学:《面向对象的程序设计》 第三章 使用类和对象.ppt
- 华南农业大学:《面向对象的程序设计》 第二章 数据与表达式.ppt
- 华南农业大学:《面向对象的程序设计》 第一章 Hello Java.ppt
- 华南农业大学:《面向对象的程序设计》 第九章 多态性.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第八章网络安全技术 Safety Technology of Network.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第七章 Windows NT.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第六章 网络技术及组网技术 TCP/IP.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第五章 Repeaters(中继器)Network Devices & Interconnection.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第四章 局域网技术 Local Area Network Technology.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第三章 计算机网络体系结构 Architecture of Computer Network.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第二章 数据通信技术 Data Communication Basics.ppt
- 兰州工业学院:《计算机网络与通信 Computer Network & Communication》课程教学资源(PPT课件讲稿)第一章 计算机网络概述 Introduction of Computer Network.ppt
- 乐山师范学院:《计算机程序设计》 电子课件.ppt
- 华中科技大学:《计算机算法基础》 第四章 动态规划.ppt
- 华中科技大学:《计算机算法基础》 第三章 贪心方法.ppt
- 华中科技大学:《计算机算法基础》 复习要点.ppt
- 华中科技大学:《计算机算法基础》 第一章 习题.ppt
- 华南农业大学:《面向对象的程序设计》 第八章 继承.ppt
- 《计算机原理》 第三章(3-6) 模型机设计.ppt
- 《计算机原理》 第四章 存储子系统.ppt
- 《计算机原理》 第四章(4-2) 半导体存储器.ppt
- 《计算机原理》 第四章(4-3) 磁表面存储器.ppt
- 《计算机原理》 第五章 输入/输出系统.ppt
- 《计算机原理》 第五章(5-2) 总线.ppt
- 《计算机原理》 第五章(5-3) 中断方式及接口.ppt
- 《计算机原理》 第五章(5-4) DMA方式及接口.ppt
- 《计算机原理》 第六章 输入/输出设备.ppt
- 《计算机原理》 绪论.ppt
- 《计算机原理》 第一章 概论.ppt
- 《计算机原理》 第二章 计算机中的信息表示.ppt
- 《计算机原理》 第三章 CPU子系统.ppt
- 《计算机原理》 第三章(3-3) 组合逻辑控制器原理.ppt
- 《计算机原理》 第三章(3-4) 微程序控制器原理.ppt
- 《计算机原理》 第三章(3-5) 主机和外部设备的信息交换.ppt
- 《ASP3高级编程》学习资料(讲稿)第一章 ASP基础.pdf
- 《ASP3高级编程》学习资料(讲稿)第二章 请求和响应的处理.pdf
- 《ASP3高级编程》学习资料(讲稿)第三章 ASP应用程序与会话.pdf