我有以下代码,其中包含一个while循环,但是,我不确定while循环的一部分是做什么的。
int a=nums[i];
while(i+1<nums.length&&(nums[i+1]-nums[i])==1)
{
i++;
}
我有一个 nums 数组,需要创建它的摘要范围。你能解释一下while循环的参数是什么意思吗?
while
循环只有一个参数或表达式:如果循环的计算结果为true
,则保持循环运行的条件,如果计算结果为false
,则结束循环。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while。
鉴于在循环主体中,i
正在递增,代码最好使用for
循环。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
代码具有复合条件,必须true
这两个条件才能执行循环主体。两者都必须为真,因为使用了布尔 AND 运算符&&
。
第一个条件通过检查i+1
不超过数组nums
长度,实际上最多少一个长度来检查是否不会发生 OutOfBounds 错误。第二个条件检查以下元素是否正好比当前元素大 1。
希望这有帮助!
1(而索引+ 1小于数字数组长度(以防止下一个条件的OutOfBoundsException(
2(数组的下一个元素减去数组的当前元素等于1
在这个 while 循环中,有两个条件与运算符&&
连接。 所以两个条件都必须满足。在第一个条件检查天气指数i+1
小于您的数组大小,其次取决于索引i
的物理值i+1
.loop将继续,直到两个条件都满足并且索引将增加1。一旦这些条件之一为假,循环就会终止。 . 您也可以使用 for 循环代替 while...很容易夏化数组列表。for( int i=0;i<nums.lenght;i++){ nums[i];}