关于 while 循环条件的说明



我有以下代码,其中包含一个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];}

最新更新