while循環的跳出

今天在編碼時忽然產生一個疑問:程序中有一個while循環,循環體執行的是某個附帶條件限制的操做。我如今想達到的目的是 => 條件成立,就執行操做,並跳出循環;條件不成立就跳出當次的while循環。 那麼,如何跳出當次的while循環呢?編碼

下面是僞代碼:spa

while(true)
{
  if(知足某條件)
  {
    //Do Something
    跳出整個while循環
  }
  else   {     //Do Something     跳出本次循環   } }

其實,能夠用continue跳出本次的while循環。 即continue不只能夠用於for循環,在while循環中也是適用的code

用C#實現上面的僞代碼:blog

while(true)
{
  if(知足某條件)
  {
    //Do Something
    break;
  }
  else
  {
       //Do Something
    continue;
  }
}

 ===========string

下面以一個小的Demo來講明一下while中的退出,貼代碼:it

    class Program
    {
        static void Main(string[] args)
        {
            JumpOutWhile();
        }

        private static void JumpOutWhile()
        {
            int i = 0;
            while (true)
            {
                i++;

                if (i % 9 == 0)
                {
                    continue;
                }

                if (i == 50)
                {
                    break;
                }

                if (i == 100)
                {
                    //跳出while所在的方法
                    //可是前面在i=50時,已經跳出while循環 => 不會執行該句
                    return;
                }

                Console.WriteLine(i);
            }
        }
    }   

結果:凡是9的倍數都未打印;50也未打印;return沒有執行到。for循環

若是把最後一個if的判斷條件改成40,則會發生什麼樣的結果呢?class

結果是不單單跳出了while循環,並且退出了循環所在的方法JumpOutWhile。循環

 

總結:程序

在while循環中:

continue : 退出本次循環,若是循環還未結束 =>繼續下一個循環;

break:退出整個的while循環;

return: 退出while循環所在的方法。

相關文章
相關標籤/搜索