数组可以存储多个相同类型的元素,其中,类型可以是java数据类型的任意一种
1. 一维数组的两种声明方式
方式1:数组元素类型[ ] 数组名;
方式2:数组元素类型 数组名[ ];
//声明一个存储分数的数组
//方式1
int[] scoreArray1;
//方式2
int scoreArray2[];
//也可以声明其他类型的数组
char[] sex1;
char sex2[];
boolean[] isRoll1;
boolean isRoll2[];
String[] department1;
String department2[];
byte[] age1;
byte age2[];
注意:没有初始化的数组时不能使用的。(可以初始化为null)
//未初始化使用数组
int[] scoreArray;
System.out.println(scoreArray);
在运行时就会报错,如下图:
补救措施:给数组初始化即赋值,若不打算赋值可以赋null值。
//给数组赋null值
int[] scoreArray = null;
System.out.println(scoreArray);
数组的初始化可以在声明数组的时候直接初始化,也可以先声明后初始化。
方式1:数组元素类型 [ ] 数组名 = new 数组元素类型 [数组长度];------------ 默认初始化值:int型为0,double型为0.0,boolean型为false,String型为null,char型为0所对应的字符,float型为0.0。
方式2:数组元素类型 [ ] 数组名 = new 数组元素类型 []{元素1,元素2,…};------------数组长度根据元素个数确定
方式3:数组元素类型 [ ] 数组名 = {元素1,元素2,…};------------方式2的简化版本,根据元素个数确定数组的长度
//方式1
int[] age = new int[50];//默认初始化的值为0
//方式2
double[] scoreArray = new double[]{98, 87.5};//scoreArray的长度为2
//方式3
String[] department = {"INFOR", "COMPU", "COMMU", "ENGLISH"};//department的长度为4
注意: 数组初始化时必须要确定数组的长度
3. 一维数组的使用方法
<1> 访问和修改一维数组中的数据
根据数组索引或下标访问数组,缩印的范围是0到数组长度-1,若超出索引范围则在运行时会报错。修改数组中的数据时只需根据索引选定要修改的数据,并赋予新的值即可。
//访问scoreArray下标为0的数据
double d = scoreArray[0];
System.out.println(d);
//修改scoreArray下标为0的数据为88.7
scoreArray[0] = 88.7;
System.out.println(scoreArray[0]);
<2>获取一维数组的长度
所有一维数组的 的长度都可以通过数组名.length获取到。
//获取department数组的长度
String[] department = {"INFOR", "COMPU", "COMMU", "ENGLISH"};
int l = department.length;
System.out.println(l);
int[] a = new int[10];
int[] b = {3, 5, 6, 2, 45, 28};
System.out.println(a[0] + " " + b[0]);
a[0] = b[0];//将b[0]的值赋给a[0]
System.out.println(a[0] + " " + b[0]);
b[4] = a[4];//将a[4]的值赋给b[4]
System.out.println(a[4] + " " + b[4]);
<4>一维数组的填充
Arrays.fill(数组名, 值); ------------使用指定的值填充指定的数组
在使用该方法时需要导入java.util.Arrays包。
int[] b = new int[3];
Arrays.fill(b, 100);
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
//输出数组中的元素
int[] a = new int[]{67, 778, 45, 53, 80};
for(int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
思路:将数组中第一个元素确定为最大值(最小值),存入一个临时变量中,然后选用for循环,将临时变量与数组中其他元素挨个比较,若数组元素大于(小于)临时变量的值,则更新临时变量的值,直到遍历完整个数组,最后存在临时变量中的值就是最大值(最小值)。
//一维数组的最值问题(此处以最大值为例,最小值同理)
int[] a = {7, 35, 45, 2, 67, 889} ;
int max = a[0];
for(int i = 1; i < a.length; i++){
if(a[i] > max)
max = a[i];
}
System.out.println(max);
一维数组的用处还有很多,在这里就不一一列举了。
以上都是一维数组相对来说比较基础的知识,需要熟练掌握。
PS:以上内容若有错误,欢迎指出!!!