杰杰郭果
2016-05-23 20:02
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] ;
}
if(nums[i]<min){
min=nums[i];
}
// 如果当前值小于min,则替换min的值
// 累加求和
sum=sum+nums[i];
}
// 求平均值
avg=sum/7;
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
}
我想问的是if(max<num[i])
max=num[i];和
if(num[i]>max)
max=num[i]有什么区别
if(nums[i]>max){
max=nums[i] ;
}
if(nums[i]<min){
min=nums[i];
}
这个才是你要问的吧?
第一个已经解释了,就是根据题意,将数组nums中最大的值取出来,
任何编程,都是用语言来编写的,所以,我们只要读懂了语言,就不会有什么问题
第一个读为,如果,max大于数组中地nums[i]个数,那判断成立,吧nums[i]的值赋给max,最后,max一定是mums数组中最大的,用JAVA语言来说就是if(nums[i]>max)这句话
第二个,是取他最小的数的,根据题意,如果nums[i]小于min,就将mums[i]的值赋给min,最后,min一定是数组mums中最小的,用JAVA语言来说就是if(nums[i]<min)这句话,
因为判断条件不同,所以值不同,一个取最大数,一个取最小数
如果赶紧对你有用的话,请采纳,谢谢
这两个求最大值的结果是不一样的:
if(max<nums[i])//意思:假设数组中的某一个数为最大值(max),这个数小于数组里的任何一个数 (nums[i]);
max=nums[i];//当这个最大值(max),经过数组里的数比较之后,发现最后没有比147更大的数了,任何数都<147,
所以,结果就是把这个最大值147作为nums[i],并且把这个num[i]赋值给max.求出最大值。
if(nums[i]>max) //意思:假设数组中的第一个数(nums[i]),java编程里的比较顺序就是这样,这个数大于这个数组已经赋值了的最大的数(max)=0,所以从这个角度讲以上数组都是大于0的;
max=nums[i] //当这个数(nums[i])是最大的数时,把这个数赋值给了max;就题目整体代码而言,如果这样写最大值也是4。
根据题意,它是让你第一个数为最大数,所以
if(max<nums[i])
max=nums[i];
读为,如果,max大于数组中地nums[i]个数,那判断成立,吧nums[i]的值赋给max,
if(nums[i]>max)
max=nums[i]
这个,也是将max变为最大数,意思与前面的一样,没有多少区别
没有什么区别,你要问的第二个是不是 if(nums[i]<min)这个啊?
你这里就没有num这个啊,你说的是nums吧?
Java入门第一季(IDEA工具)升级版
1167581 学习 · 18748 问题
相似问题