今天在编码时突然产生一个疑问:程序中有一个while循环,循环体执行的是某个附带条件限制的操作。我现在想达到的目的是 => 条件成立,就执行操作,并跳出循环;条件不成立就跳出当次的while循环。 那么,如何跳出当次的while循环呢?

下面是伪代码:

while(true)
{
  if(满足某条件)
  {
    //Do Something
    跳出整个while循环
  }
  else
  {
    //Do Something
    跳出本次循环
  }
}

其实,可以用continue跳出本次的while循环。 即continue不仅可以用于for循环,在while循环中也是适用的

用C#实现上面的伪代码:

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

===========

下面以一个小的Demo来说明一下while中的退出,贴代码:

    class Program
{
static void Main(string[] args)
{
JumpOutWhile();
} private static void JumpOutWhile()
{
int i = ;
while (true)
{
i++; if (i % == )
{
continue;
} if (i == )
{
break;
} if (i == )
{
//跳出while所在的方法
//但是前面在i=50时,已经跳出while循环 => 不会执行该句
return;
} Console.WriteLine(i);
}
}
}

结果:凡是9的倍数都未打印;50也未打印;return没有执行到。

如果把最后一个if的判断条件改为40,则会发生什么样的结果呢?

结果是不仅仅跳出了while循环,而且退出了循环所在的方法JumpOutWhile。

总结:

在while循环中:

continue : 退出本次循环,如果循环还未结束 =>继续下一个循环;

break:退出整个的while循环;

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

while循环的跳出的更多相关文章

  1. Python中的循环与跳出

    --start-- for循环: for i in range(3): user_input = input("Your username:") passwd = int(inpu ...

  2. jQuery中each循环的跳出和结束

    jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...

  3. foreach循环的跳出

    由于foreach循环中不像for循环可以直接通过return或break来终止当前循环,不过这里可以借助try...catch...来完成var arr = [1,2,3,4,5,6,7,8,9,1 ...

  4. 算法第四版中 while (!StdIn.isEmpty()) 循环无法跳出问题

    在IDEA中使用Ctrl+D就可以退出console输入

  5. 082-PHP的do-while循环break跳出

    <?php $i = 1; do { echo $i; $i = $i + 1; if ($i >= 5) { echo "break<br>"; brea ...

  6. 关于Java 中跳出多重循环

    前言 环境:window10 JDK 1.8 应用场景:在多个for循环或while循环中,直接跳到最外层的循环外面,而不是需要层层退出来. 使用: 使用一个标签label(也可以是其他单词,不能是关 ...

  7. Python练习-一个Break跳出所有循环

    Alex大神的需求:三层循环,在最内层循环中使用break,让所有循环结束; # 编辑者:闫龙 i=1; count=0; while 1==i : while 1==i: while 1==i: c ...

  8. python跳出多重循环

    # -*- coding=utf-8 -*- """ 如何结束多重循环,在单层循环中,可以用break跳出循环,那两层,三层呢? """ # ...

  9. Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)

    一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False: print("-第一层") wh ...

随机推荐

  1. Makefile 自动生成依赖

    虽然以前对Makefile有个基本概念,但是真正到自己去写一个哪怕是简单的Makefile时也会遇到不少的麻烦.    现在我有如下文件 dList.h dList.c memory.c debug. ...

  2. jQuery 分步引导 插件

    转自:http://blog.libnav.com/js/57.html 很多时候一个网站或者一个Web应用出品,为了让你的用户知道你的站点(或应用)有些什么?如何操作?为了让你的用户有更好的体验.往 ...

  3. Entity Framework 学习初级篇1--EF基本概况

    转自:http://www.cnblogs.com/Tally/archive/2012/09/14/2685011.html 最近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不 ...

  4. 奇怪的Lisp和难懂的计算机程序的构造和解释

    最近用新买的 Kindle 看<黑客与画家>的Lisp部分,发现作者 Paul Graham 很推崇 Lisp 语言,并且认为其它语言都没有Lisp简洁“成熟”,并且举例证明其它语言都在往 ...

  5. windows上zend server安装 报The server encountered an internal error or misconfiguration and was unable to complete your request -解决方法 摘自网络

    windows上zend server安装完成后报如下错误:   Internal Server Error The server encountered an internal error or m ...

  6. The File's Owner

    The File Owner is an instantiated, runtime object that owns the contents of your nib and its outlets ...

  7. LCS算法

    转自:http://hzzy-010.blog.163.com/blog/static/79692381200872024242126/  好详细~~~也十分好理解~~~ 最长公共子序列问题(非连续的 ...

  8. webapp 慎用setInterval、setTimeout

    其实这片文章刚开始我啥也没写的,但也有20多的访问量,所以觉得大家还是比较关注这个问题,所以找机会写下. 问题的引出: 为什么我说的时webapp中慎用setInterval.setTimeout, ...

  9. 一个免费的自动化跨平台测试JavaScript的工具——BrowserSwarm

    BrowserSwarm是一个免费工具,能够自动化跨平台测试JavaScript.

  10. Redis实战之Redis + Jedis[转]

    http://blog.csdn.net/it_man/article/details/9730605 2013-08-03 11:01 1786人阅读 评论(0) 收藏 举报   目录(?)[-] ...