for (int i = 1; i < a.length; i++) // 依次与后面的元素进行比较
if (a[i] > max)
max = a[i]; // 如果有比 max 大的,记录下来
return max;
}
// 为数组元素赋随机值
public static void setValue(int a[]) {
for (int i = 0; i < a.length; i++)
a[i] = (int) (Math.random() * 100);
}
// 显示数组中所有元素
public static void showValue(int a[]) {
System.out.println("数组元素值为:");
for (int i = 0; i < a.length; i++) {
System.out.print(" " + a[i]);
if ((i + 1) % 5 == 0)
System.out.println(); // 每 5 个元素换一行
}
}
}
运行结果如下:(仅供参考)
数组序列为:
22 23 17 38 64
30 65 48 42 49
最大值为:65
面试题 10:如何获得数组大小
【考题题干】给出下面声明,假设已经初始化了该数组,则下面哪个表达式会返回数组的大小。
int[][] array = new int[5][];
请选出一个正确的答案。
A.array[].length();
B.array.length();
C.array[2].length;
D.array[0][0].length;
E.array[3].size();
F.array.size();
【试题分析】每个数组都是对象,并有一个 length 字段,来表示该数组的长度。Java 中的数组总是
知道它们的大小,这表现在 length 字段。
在本题中 A 和 B 选项是格式错误,数组有 length 字段,而不是 length()方法。习惯了使用类似与
String 类型的 length()方法来获得字符串长度的面试者一定要注意这点。所以 A 和 B 是错误的。
D 选项也是错误的,因为 array 是个二维数组,array[0]是一维数组而 array[0][0]指的就是 int 类型的
数据了,基本数据类型没有 length 这个属性,所以,在语义上就是错误的。
E 和 F 这两个选项是将数组和集合混淆了,只有集合如 List 要求返回列表中的元素个数是才会用
size()方法,所以 E 和 F 也是错误的。那么现在就只剩下 C 选项了,array[2]表示的是一维数组,length