今天介绍一下静态数组,通过几个案例加深理解。
1. 格式:数组类型 数组名 = new int[ ]{数组元素1,数组元素2...};
简写:数组类型 数组名 = {数组元素1,数组元素2...};
int[] arr1 = new int[]{1,2,3};
//int[] arr1={1,2,3};
String[] arr2 = new String[]{"a","b","c"};
//String[] arr2={"a","b","c"};
double[] arr3 = new double[]{1.0,2.0,3.0};
//double[] arr3 = {1.0,2.0,3.0};
2. 直接打印数组名获取到的不是数组元素,而是数组的地址
System.out.println(arr1); //[I@4554617c
System.out.println(arr2); //[Ljava.lang.String;@74a14482
System.out.println(arr3); //[D@1540e19d
由打印的结果可知,输出文件名得到的是数组的地址。
【注】地址的各部分含义:
1. [ 表示这是个数组。
2. I 表示数组类型是int型; L表示数组类型是string;D表示数组类型是double。
3. @之后的字符表示数组的存储地址。
3.获取数组的值:数组名[索引]
int number = arr1[0]; //取出arr1数组的第一个值
System.out.println(number); //1
4.遍历数组: ideal提供 -> 数组名.fori
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
5.练习
5.1 练习1:数组求和
double sum =0;
for (int i = 0; i < arr3.length; i++) {
sum+=arr3[i];
}
System.out.println("arr3数组的和为:" + sum);
5.2 练习2:统计个数:统计数组里有多少个能被3整除的数字
//定义数组
int[] arr4={1,2,3,4,5,6,7,8,9};
int num=0; //用来计数
for (int i = 0; i < arr4.length; i++) {
if(arr4[i]%3==0){
num++;
}
}
System.out.println("arr4数组中有" + num + "个能被3整除的数字");
5.3 练习3:变化数据
定义一个数组,存储1,2,3,4,5,6,7,8,9,10 要求:如果是奇数,则将当前数字扩大两倍;如果是偶数,则将当前数字变成二分之一
int[] arr5 = {1,2,3,4,5,6,7,8,9,10};
System.out.print("arr5数组变化前:");
for (int i = 0; i < arr5.length; i++) {
System.out.print(arr5[i] + " ");
}
for (int i = 0; i < arr5.length; i++) {
if(arr5[i]%2==0)//偶数
arr5[i]/=2; //相当于 arr5[i]=arr5[i]/2
else //奇数
arr5[i]*=2; 相当于 arr5[i]=arr5[i]*2
}
//在输出查看变化
System.out.print("\narr5数组变化后:");
for (int i = 0; i < arr5.length; i++) {
System.out.print(arr5[i]+" ");
}