首页 > 解决方案 > while循环条件说明

问题描述

我有以下代码,其中包含一个 while 循环,但是,我不确定 while 循环的一部分是做什么的。

    int a=nums[i];
    while(i+1<nums.length&&(nums[i+1]-nums[i])==1)
    {
        i++;
    }

我有一个 nums 数组,需要创建它的摘要范围。你能解释一下while循环的参数是什么意思吗?

标签: java

解决方案


循环只有一个参数或表达式while:如果计算结果为 则保持循环运行的条件,或者如果计算结果为true则结束循环的条件falsehttps://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。

希望这可以帮助!


推荐阅读