数组Array
一、数组结构简介
- 为什么需要数组?以往的例子我们只能算平均分,不能打印成绩清单
- 如果要存储组数,要声明一堆变量,麻烦,不好管理
- 数组可以一次性开辟连续的内存空间,即声明一组变量
- 在内存中开辟连续的内存空间,数组名称就是这块区域的变量名
- 数组元素的访问通过下标来访问
- 下标是从0开始的整数
- 数组的长度是固定不变的
- 如果不赋值,数值类型的数组元素默认值是0
- 数组有类型,同一数组里的元素类型相同
二、数组的语法和使用
- 声明数组:
- 数据类型[] 数组名; ==> int[] ages;
- 数据类型 数组名[]; ==> int ages[];
- 分配空间,即实例化或初始化:
- 使用new关键字完成
- 必须给定数组的长度
- 例如: ages = new int[10];
- 通过下标访问数组的元素
- 给元素赋值: ages[0] =22;
- 读取元素的值: int a = ages[2];
- 声明和初始化一并完成的写法:
- int[] scores = {97,77,66,55};//创建一个长度为4的数组
- int[] scores = new int[] {98,77,66,55};//注意此处不能写长度
- 分开写是不合法的,下面的写法错误:
- int [] scores;
- scores ={55,33,22};
- 字符串数组
- String [] names = {“jack”,“lily”,“tom”};
- 用length属性获取数组的长度:scores.length
三、数组的应用
- 接收五个学生的成绩,排序后输出,分别按照从高到低和从从低到高的顺序输出
- 排序用Arrays.sort(数组名);
- 接收五个学生的成绩,求最高分,平均分,最低分
- 常见错误:
- 数组下标从0开始,如果要修改第2个学生成绩,下标应该是1
- 数组下标从0开始,最大下标应该是长度-1,即arr.length-1
- 如果访问了超出下标的元素,会报错,叫做数组越界
-
ArrayIndexOutOfBoundsException