五 . 数组
一 . 数组概述
一.为什么使用数组?
案例:如何存储100名学生的成绩?学生的全部成绩+1?
1.使用变量存储,重复声名100个double类型的变量
缺点:重复操作过多,数据冗余,无法统一操作等。
1.数组:
一组连续的存储空间,存储多个相同数据类型的数组。
生活中的数组:
书架,香烟......
(1)特点:
类型相同;长度固定。
2.数组的创建:
(1)声名数组类型变量,定义变量名
int[] a = new int[5];
数组中的每个数据被称为”数组元素“。
对每个元素进行赋值或取值的操作被称为”元素的访问“。
访问元素时,需要使用”下标/索引“(从0开始,依次+1,自动生成)。
访问的语法:数组名[下标/索引]。eg:a[0] = 2;
(2)下标的范围
[0,array.length-1]
3.数组的遍历:
从头至尾,逐一对数组的每个元素进行访问。
数组名.length 可获取动态数组长度。
4.数组的默认值(初始化):
整数:0;小数:0.0;字符:\u0000;布尔:false;其他:null。
在没有为数组元素赋值的情况下,依旧可以正确访问。
二 . 数组的创建
一.数组的创建
1.先声明,再分配空间:
数据类型[]数组名;
数组名 = new 数据类型[长度];
2.声名并分配空间:
数据类型[] 数组名 = new 数据类型[长度];
3.声名并赋值(繁):
数据类型[] 数组名 =new 数据类型[]{value1,value2,value3,...};
4.声名并赋值(简):
数据类型[] 数组名 ={value1,value2,value3,...};//显式初始化,注意:不支持换行书写。
二.数组的排序
JDK排序:java.util.Arrays.sort(数组名);//JDK提供(升序)
三.数组中常见的问题
数组索引越界异常:ArrayIndexOutOfBoundsException(访问数组中不存在的索引)
空指针异常:NullPointerException(数组引用存储的值为null而非数组的地址值时)
package Winter . array;
public class CreatArray01 {
public static void main ( String [ ] args) {
int [ ] a = new int [ 5 ] ;
a[ 0 ] = 1 ;
a[ 1 ] = 2 ;
a[ 2 ] = 3 ;
a[ 3 ] = 4 ;
a[ 4 ] = 5 ;
for ( int i = 0 ; i < a. length; i