求知道这题参考代码为什么用if他会一直循环?
就是参考代码那里从for循环那里开始到if语句结束看不懂
就是参考代码那里从for循环那里开始到if语句结束看不懂
2016-10-24
在数组中求最大值和最小值。if 那一块的用法是固定套路
开始先假设了一个最大值,和最小值
int max=nums[0];//题中是假设数组中的第一个值为最大值,其实假设数组中的任何一个数为最大都可以的。而假设nums[0]是确保该数在数组中肯定会存在,方便使用
int min=nums[0];//同理
因为要比较大小得出最值。肯定是要拿数来一个个比,这样绝逼用到循环了。
for(int i=0; i<nums.length; i++){//定义变量i的初始值为0,i最大值根据数组有几个元素而定,i<nums.length;是固定用法,让i自增。这样数组中元素会在循环中重头到尾依次出现
//下面就是让他们依次出现和之前定义的最大值最小值做比较
假如数组中第一个元素大于我们假设的最大值,那最大值就是第一个
然后返回去继续循环,出现第二个元素,和刚刚的最大值比较,确定谁是最大,max就是谁,在返回去循环。出现第三个元素,和刚刚的最大值比较,确定谁最大,一直到循环结束
if(nums[i]>max){//就是根据变量i的变化依次和max做比较,
max=nums[i];也就是变量i所代表的某个数时比之前那个max大的时候就赋值给新的max
}
}
举报