如果不可以,为什么?能详细说下吗?
public class HelloWorld {
public static void main(String[] args) {
// 定义一个整型数组,并赋初值
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int max = nums[0]; // 假定最大值为数组中的第一个元素
int min = nums[0]; // 假定最小值为数组中的第一个元素
double sum = 0;// 累加值
double avg = 0;// 平均值
for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素
// 如果当前值大于max,则替换max的值
if(nums[i]>max) max=nums[i];
// 如果当前值小于min,则替换min的值
if(nums[i]<min) min=nums[i];
// 累加求和
sum=nums[i]+sum;
}
// 求平均值
avg=sum/nums.length; //avg=sum/i;不可以吗?
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
}
(刚刚百度到的~我觉得合理的一个解释)
我们很常做的一件事就是在for循环里定义一个变量并初始化(如上面定义的i,初始化为1),这个变量有可能是为了做循环限制而定义的,而此时变量只做为for循环的局部变量
循环结束后就不能再使用i这个变量。
这是C99规定了一种新的for循环语法,这种语法也是从C++借鉴的,考虑到兼容性不建议使用这种写法。
sorry,刚才答错了,知道原因了,要在循环开始的时候前int i=0,先定义这个i
i=6,实际上是7个数
嗯,小伙伴都在考虑中