【C#学习】16表达式,语句详解(04)迭代语句,跳转语句 |
您所在的位置:网站首页 › 迭代语句 › 【C#学习】16表达式,语句详解(04)迭代语句,跳转语句 |
文章目录
1.while语句2.do语句3.continue语句4.break语句5.for语句for语句的执行顺序
6.foreach语句(1)什么样的集合可以被遍历?(2)什么是迭代器?如何使用迭代器对集合进行遍历?foreach循环,就是对集合遍历的 "简记法"
7.goto语句,throw语句,return语句使用return语句需要注意的几点:
8.其他语句9.叮嘱
迭代语句(循环语句)包括:while语句,do语句,for语句,foreach语句
跳转语句包括:break语句,continue语句,goto语句,return语句,throw语句
由于迭代语句中的while语句,do语句与跳转语句中的break语句,continue语句联系紧密,所以放在一起整理
迭代语句的功能:在某个条件的控制下,让某一段逻辑(循环体)反复执行 1.while语句功能:while语句的循环体可能执行零次或多次(有可能一次也不执行) 语法:while ( boolean-expression ) embedded-statement while为关键字,括号中的布尔表达式为循环条件,如果值为true,执行循环体embedded-statement 代码示例: (编写一个小游戏:用户输入两个数值,相加需为100,每次成功加一分,直到输入错误,显示总得分,退出游戏) do语句也称do while语句 功能:在条件控制下,让循环体执行一次或多次 语法:do embedded-statement while ( boolean-expression ) ; 上述小游戏用do语句实现: 功能:放弃当前的这次循环,立刻开始下一次新的循环 改进上述小游戏,使出现异常时放弃本轮游戏,立刻开始下一轮 功能:立刻结束循环语句,程序继续执行循环语句后的语句 改进上述小游戏,用户不想再玩儿时输入"end"退出游戏 注意:由于循环语句本身也是嵌入式语句,所以,也可以将循环语句结构中的嵌入式语句再写入循环语句,从而形成二重,三重甚至是多重循环,此时,continue,break,永远只会影响到直接包含它的那一层循环 5.for语句for语句的最佳应用场合:计数循环(某个循环的循环次数是固定的,这个循环次数由一个循环变量空值) 用do while语句写计数循环 用for语句写计数循环 for语句的格式: for ( for-initializer(opt ) ; for-condition(opt) ; for-iterator(opt) ) embedded-statement for-initializer(opt ):初始化器,一般都是声明一个变量,并初始化其值 for-condition(opt):for循环得以执行的条件,为true时执行循环体 for-iterator(opt):每次执行完循环体,它都会被执行 embedded-statement:循环体 圆括号中的两个分号必须要写,如果不写括号中的其他三个部分,只写两个分号,就是一个死循环结构 for语句的执行顺序(1)for语句开始执行时,初始化器会被执行,且只执行一次 (2)紧接着执行 for-condition,判断for循环体是否能够得到执行;for-condition值为true时,执行循环体;否则反之 (3)执行完循环体,返回来执行 for-iterator (4)跳到步骤(2)——再次对循环条件进行求值,判断是否开始下一次循环 (5)一旦循环条件变为false,就跳出循环 做一个算法题,打印出99乘法表 一个建议:在做算法题的时候,一定要写总结,总结的多了,才会达到触类旁通的效果 6.foreach语句foreach语句的最佳应用场合:对集合进行遍历 foreach语句,集合遍历循环 功能:枚举一个集合中的元素(遍历这个集合),并且,在遍历这个集合时,每访问到一个元素,就可以对这个元素执行一次相关的嵌入语句(也就是每访问一个元素,就执行一次循环体,直到访问完全部元素,循环结束) 语法:foreach ( local-variable-type identifier in expression ) embedded-statement 需要补充的相关知识: (1)什么样的集合可以被遍历?在C#中所有的数组类型,它的基类都是 “Array” 这个类;(go to definition),一个类,冒号后跟着的内容,就是这个类的基类和基接口,单词前有大写的 “I”(表示interface),那么就是接口; C#中,所有实现了 “IEnumerable” 这个接口的类,就是可以被遍历的集合 迭代器:Enumerator C#中所有能够被迭代的集合,都能获得自己的迭代器 "指月"的故事: 你问我:什么是月亮? 我的手指向月亮 我是想告诉你:我指的东西是月亮 而不是我的手指是月亮 天上有10个月亮 我挨个指过去,让你访问每一个月亮 我的手指,就是迭代器 如何使用迭代器对集合进行遍历?先go to definition,查看迭代器的用法 foreach ( local-variable-type identifier expression ) embedded-statement local-variable-type identifier :声明迭代变量,相当于迭代器 in:关键字 expression :对该表达式求值的结果是一个集合 embedded-statement:循环体 (1)goto语句:已经不是主流语句了,不做过多介绍,在switch语句中已经见过 (2)throw语句:try语句中已经做过整理 再次强调:throw语句的语法较灵活,关键字后可以跟一个异常类型的变量,也可以什么都不跟 (3)return语句 使用return语句需要注意的几点:尽早return原则 尽早return的好处:可以让读这段代码的人立刻鉴别出来参数在什么情况下是有问题的;还可以避免整个方法写出来头重脚轻,使代码结构更加清晰 代码体会 如果写的方法的返回值不是void类型,而且在方法体中使用了选择语句,那么就必须保证选择语句的每一个分支度能够让该方法return (1)空语句 ; (2)标签语句 (3)checked,unchecked语句 (4)using语句,(讲接口时讲) (5)yield语句,(讲集合) (6)lock语句,(讲多线程) 9.叮嘱(1)看书,看文档 (2)动手写代码 (3)熟练使用搜索引擎 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |