java数组定义、声明注意点及简单应用
1. 声明与初始化
//省略 new 运算符的初始化
int[] A1={1,2,3};
String[] A2={"Bob", "Alice"};
//二维时需注意的情况
int[][] A3=new int[3][];
A3[0]={1,2,3};//错误,只有在声明的同时进行静态初始化才可以省略 new 运算符
A3[0]=new int[]{1,2,3};//正确
2. 数组简单应用
- 随机生成一个元素数量0-100,元素大小0-100的整型数组,并求其最大值、最小值、和及平均值.
public class Test
{
static int getMax(int[] A)
{
int res=Integer.MIN_VALUE;
for (int i : A) {
res=res<i?i:res;
}
return res;
}
static int getMin(int[] A)
{
int res=Integer.MAX_VALUE;
for (int i : A) {
res=res<i?res:i;
}
return res;
}
static int getSum(int[] A)
{
int sum=0;
for (int i : A) {
sum+=i;
}
return sum;
}
static double getAverage(int[] A)
{
return (double) getMax(A)/A.length;
}
public static void main(String[] args) {
int[] A=new int[(int)(Math.random()*100)];
for (int i = 0; i < A.length; i++) {
A[i]=(int)(Math.random()*100);
}
System.out.println(Arrays.toString(A)); //备注1
System.out.println(getMax(A));
System.out.println(getMin(A));
System.out.println(getSum(A));
System.out.println(getAverage(A));
}
}
备注1: 数组的输出不能直接使用 System.out.println(A)
,这将会输出数组的hashCode()
. 这是因为数组作为一个类型,继承自类 Object,而没有重写toString()
方法,在使用标准输出的时候调用的是 Object
类的toString()
. 应当使用 Arrays.toString(A)
获得输出字符串.