1.声明数组语法:数组名是任意合法的变量名
语法: 数据类型[ ] 数组名
或者: 数据类型 数组名[ ];
int[] scores; //整形数组
double height[]; //浮点型数组
String[] names; //字符串型数组
2.分配空间
就是指定数组中可以存储多少个元素,语法:
数组名 = new 数据类型 [ 数组长度 ]; //数组长度指的是可以存放元素的个数
scores = new int[5]; //长度为5的整形数组
height = new double[5]; //长度为5的浮点型数组
names = new String[5]; //长度为5的字符串数组
把 1 和 2 合起来写就是这样的:
int [] scores = new int [5];
3.赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例:
scores[0] = 89;
scores[1] = 90;
4.处理数组中的数据
对赋值后的数组进行操作和处理,如获取并输出数组中元素的值
System.out.println("scores数组中第一个元素的值:" + scores[0]);
还有一种直接创建数组的方式,将数组声明、分配空间和赋值操作一起完成
int [] scores = {78,89,48,59}; //创建一个长度为4的数组
//等价于
int [] scores = new int []{78,89,48,59}; //这中方式的方括号里面不能指定长度
5.循环操作数组
int scores = {78,89,97,45};
for (int i = 0;i < scores.length;i ++) {
System.out.println(scores[i]);
//循环打印每一个数,数组名.length 用于获取数组的长度
}
值得注意的是:
1、 数组下标从 0 开始。因此 scores[3] ,表示数组中的第 4 个元素,而并非第 3 个元素
2、 数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错
6.使用Arrays类操作数组
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等。
1)排序,语法:Arrays,sort(数组名);
可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列),例:
//定义一个整形数组
int[] scores = {78,79,89,98,72};
使用Arrays的sort()方法对数组进行排序
Arrays.sort(scores);
System.out.println("排序后数组元素的值:");
//for循环输出值
for (int i = 0;i < scores.length; i ++) {
System.out.println(scores[i]);
}
//输出:72 78 79 89 98
2)将数组转换为字符串, 语法:Arrays.toString(数组名);
可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,例:
int [] nums = new int[] {25,89,78,45,12};
System.out.println("输出数组nums中的元素:" + Arrays.toString(nums));
//输出数组nums中的元素:[25,7,126,53,14,86]
7.使用 foreach 操作数组
foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思,语法:
分别使用 for 和 foreach 语句来遍历数组
String[] strArr = {"123","456","789"};
//使用for循环遍历
for (int i = 0;i < strArr.length;i ++) {
System.out.println(strArr[i]);
}
//使用foreach遍历
for (String str : strArr) {
System.out.println(str);
}
8.二维数组
二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
1)声明二维数组并且分配空间
或
2)二维数组赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
或
3)使用二维数组
int[][] num = {{1,2,3},{4,5,6}};
for (int i = 0; i < num.length;i ++) {
for (int j = 0;j < num[i].length;i ++) {
//依次输出
System.out.println(num[i][j]);
}
//换行
System.out.println();
}
//输出:
1 2 3
4 5 6