数组的定义(三种)
- double [] a = new double[5];申请一个连续的内存单元,储存一批数据。
- String [] b = {"数组0","数组1","数组2","数组3","数组4"};
- int [] c = new int[]{1,2,3,4,5};
访问数组元素:数组名+下标。但是注意数组的第一个下标是从0开始的,比如:数组中存5个数,那么他们的下标是[0,4];
数组的本质:一组变量的集合,或者是一组内存单元,只不过是把变量名的形式改为数组名+下标。
数组的属性:a.length:告诉我们这个数组的长度;改变数组的长度。使用方法:数组名.length;
案例:求5个人的平均分
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double[] a = new double[5];
double sum =0;
for (int i =0;i<a.length;i++){
System.out.printf("输入第%d个人的分数",i+1);
a[i] = sc.nextDouble();
sum +=a[i];
}
double avg = sum/5;
System.out.println("5个人的平均分是"+avg);
}
}
结果:
数组的遍历(两种)
第一种
for循环(while和do while也可以)//可以控制遍历的范围;
for(int i=0;i<a.length;i++){
}
第二种
for(int i:a){//数组的foreach遍历,将数组中所有的从0开始全部遍历;
}
二者的区别:
- 普通的循环遍历(for,while,do while)可以确定遍历的范围;而foreach遍历只能是遍历数组的所有元素。
- foreach遍历方式相对来说更加简洁;
- foreach遍历中小括号定义的类型应该和数组类型一样;
- 普通循环输出的时候,数组名+代表下标的变量。如下:
for(int i=0;i<a.length;i++){
System.out.print(" "+a[i]);
}
a[i]:foreach遍历输出时:
for(String m:a){
System.out.print(" "+m);
}
案例:数组的遍历:
public class Demo {
public static void main(String[] args) {
int []a = {1,2,3,4,5,6,7,8,9};
for (int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();//换行
for (int n:a) {
System.out.print(n+" ");
}
}
}
}
结果: