Java语言中,数组是一种最简单的复合数据类型,数组的主要特点有:
数组是相同类型元素的集合
数组中各个元素按先后顺序连续存放在内存之中
每个元素用数组名和它在数组中的位置(即下标)表达和访问
长度确定。即一但数组被创建,其长度不能再更改
声明数组
数组的声明有以下两种格式:
格式1:数组元素类型 数组名[]
格式2:数组元素类型[] 数组名(常用)
创建数组空间
int score=new int[10]; //声明并创建一个含10个整型元素的数组
在创建存储空间时,系统就会自动给各个元素赋初值。当数组元素为基本类型,元素初值为0;若元素类型为引用类型,则其所有元素值为null(代表空应用)
创建数组元素及初始化
除了直接规定数组空间,还可以通过初值表的方式,此时数组元素个数取决于初值表中元素个数,格式如下:
int scorc[]={0,1,2,3,4,5,6,7,8,9} //此时数组空间为10
通过数组的length属性可得到数组元素的个数。如,score.length即为数组score的长度
特殊的for循环语句可用来遍历访问数组的所有元素,形式如下:
for(元素类型 循环变量名:数组名){循环体};
例如,求数组score[10]中所有元素的和:
for(int i=0;i<10;i++) int sum+=score[i]; //等效于: for(int x:score) int sum+=x; //其中,x的取值将随循环从score[0],score[2],...,score[9]变化
练习:
随机生成10个成绩,并求成绩的平均值:
将一组数由小到大排序(起泡法):
二维数组的声明与创建:
int arrays[]=new int[2][5]; //声明并创建一个2行5列的二维数组
获取数组行数和列数:
行数:数组名.length
列数:数组名[行标].length
Array类是数组的工具类,即java.util.Arrays
常用的Array类的方法有:
给数组排序(升序):Arrays.sort()
int[] a={5,4,3,2,1}; Arrays.sort(a); //对数组a升序排列:1,2,3,4,5 System.out.println(a);
打印数组:Arrays.toString()
int[] a={5,4,3,2,1}; System.out.println(Arrays.toString(a)); //输出结果为:[5,4,3,2,1]
数组反转Arrays.reverse()
int[] a={5,4,3,2,1}; Arrays.reverse(a); //数组反转 System.out.println(Arrays.toString(a)); //输出结果为:[1,2,3,4,5]
合并数组Arrays.addAll(a1,a2)
int[] a1={1,2,3}; int[] a2={4,5,6}; Arrays.addAll(a1,a2); //将数组a1与a2合并 System.out.println(Arrays.toString(a)); //输出结果为:[1,2,3,4,5,6]