(原创)c#学习笔记04--流程控制04--循环04--循环中断和无限循环

4.4.4  循环的中断
  有时需要更精细地控制循环代码的处理。C#为此提供了4个命令,其中的3个已经在其他情形中介绍过了:
?    break——立即终止循环。
?    continue——立即终止当前的循环(继续执行下一次循环)。
?    goto——可以跳出循环,到已标记好的位置上(如果希望代码易于阅读和理解,最好不要使用该命令)。
?    return——跳出循环及其包含的函数(参见第6章)。
?    break命令可退出循环,继续执行循环后面的第一行代码

  

4.4.5  无限循环

  可以通过编写错误代码或错误的设计,定义永不终止的循环,即所谓的无限循环。例如,下面的代码:

while (true)
{
    // code in loop
} 

  时这种代码也是有用的,使用break语句或者手工使用Windows任务管理器总是可以退出这样的循环。但是,当这种情形偶尔出现时,就会出问题。考虑下面的循环,它与上一节的for 循环非常类似:

int i = 1;
while (i <= 10)
{
    if ((i % 2) == 0)
        continue;
    Console.WriteLine("{0}", i++);
} 

  i是在循环的最后一行代码执行完后才递增的,即在continue语句执行完后递增。但在执行到这个continue语句(此时i为2)时,程序会用相同的i值进行下一个循环,然后测试这个i值,继续循环,一直这样下去。这就冻结了应用程序。

时间: 2024-10-10 02:45:40

(原创)c#学习笔记04--流程控制04--循环04--循环中断和无限循环的相关文章

python学习笔记3—流程控制if、for、while

流程控制if if 语句 if expression: statement(s) else else语句: if 语句,else语句 if expression: statement(s) else: statement(s) elif语句: if expression1: statement1(s) elif expression2(s): statements2(s) else: statement2(s) 注:Python使用缩进作为其语法分组的方法,建议使用4个空格 逻辑值(bool)包

【原】Java学习笔记005 - 流程控制

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // 程序的流程控制(流程结构):顺序结构.选择结构.循环结构 6 7 // 顺序结构:从上向下,顺序执行 8 System.out.println("出生..."); 9 System.out.println("享受人生..."); 10 System.out.print

No2. 学习笔记_流程控制

1 import java.util.Scanner; 2 public class HelloForWhile { 3 4 /** 5 * 文档注释,程序名称:HelloForWhile 流程控制 开发时间:2016-03-07 作者:嘿嘿 6 * */ 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 System.out.println("test"); 10 int

JavaScript学习笔记——javascript流程控制

javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分支结构.条件结构) 根据给定的条件有选择的执行形相应的语句. (1) if else if else 1.单路分支 //条件可以是表达式也可以是任何的数据类型 //大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号 if(条件){ 条件成立执行的语句 } 2.双路分支 if(

【原】Java学习笔记007 - 流程控制

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // for循环 6 // 格式 7 // for (int i = 初始值; i < value; i++) { 8 // 9 // } 10 // 口诀:左初值.右步长.条件在中间.处理在内部 11 // 1.左初值:声明一个变量并给变量赋值 12 // 2.右步长:控制左边声明的变量的变化幅度,为

Java学习笔记五——流程控制

分支结构 Java提供了两种常见的分支控制结构:if语句和switch语句. if语句 if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式: 第一种形式: if (5 > 3) { System.out.println("5 > 3"); } 第二种形式: if (5 > 3) { System.out.println("5 > 3"); } else{ System.out.println("5 < 3

(原创)c#学习笔记04--流程控制03--分支03--switch语句

4.3.3 switch语句 switch 语句非常类似于if 语句,因为它也是根据测试的值来有条件地执行代码.但是,switch语句可以一次将测试变量与多个值进行比较,而不是仅测试一个条件.这种测试仅限于离散的值,而不是像“大于X”这样的子句,所以它的用法有点不同,但它仍是一种强大的技术. switch语句的基本结构如下: switch (<testVar>) { case <comparisonVal1>: <code to execute if <testVar&

(原创)c#学习笔记04--流程控制02--goto语句

4.2 goto语句 C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上.该语句优缺点并存.主要的优点是:这是控制什么时候执行哪些代码的一种简单方式.主要的缺点是:过多地使用这个技巧将使代码晦涩难懂. goto语句的用法如下: goto <labelName>; 标签用下述方式定义: <labelName>: 例如,下面的代码: int myInteger = 5; goto myLabel; myInteger += 10; myLabel: Consol

(原创)c#学习笔记04--流程控制03--分支01--三元运算符

4.3  分支 要跳转到的代码行由某个条件语句来控制.这个条件语句使用布尔逻辑,对测试值和一个或多个可能的值进行比较. 本节介绍C#中的3种分支技术: ?  三元运算符 ?  if语句 ?  switch语句 4.3.1  三元运算符 一元运算符有一个操作数,二元运算符有两个操作数,所以三元运算符有3个操作数.其语法如下: <test> ? <resultIfTrue>: <resultIfFalse> 其中,计算<test>可得到一个布尔值,运算符的结果根