【C#学习】16表达式,语句详解(04)迭代语句,跳转语句

您所在的位置:网站首页 迭代语句 【C#学习】16表达式,语句详解(04)迭代语句,跳转语句

【C#学习】16表达式,语句详解(04)迭代语句,跳转语句

2023-12-31 19:26| 来源: 网络整理| 查看: 265

文章目录 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,每次成功加一分,直到输入错误,显示总得分,退出游戏) 在这里插入图片描述

2.do语句

do语句也称do while语句 功能:在条件控制下,让循环体执行一次或多次 语法:do embedded-statement while ( boolean-expression ) ; 上述小游戏用do语句实现: 在这里插入图片描述

3.continue语句

功能:放弃当前的这次循环,立刻开始下一次新的循环 改进上述小游戏,使出现异常时放弃本轮游戏,立刻开始下一轮 在这里插入图片描述

4.break语句

功能:立刻结束循环语句,程序继续执行循环语句后的语句 改进上述小游戏,用户不想再玩儿时输入"end"退出游戏 在这里插入图片描述

注意:由于循环语句本身也是嵌入式语句,所以,也可以将循环语句结构中的嵌入式语句再写入循环语句,从而形成二重,三重甚至是多重循环,此时,continue,break,永远只会影响到直接包含它的那一层循环

5.for语句

for语句的最佳应用场合:计数循环(某个循环的循环次数是固定的,这个循环次数由一个循环变量空值)

用do while语句写计数循环 在这里插入图片描述 缺点:循环变量,循环变量的判断以及循环变量的变化是分开写的,编写者得时刻注意不要落掉某一个

用for语句写计数循环 在这里插入图片描述 如图,用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” 这个接口的类,就是可以被遍历的集合 在这里插入图片描述

(2)什么是迭代器?

迭代器:Enumerator C#中所有能够被迭代的集合,都能获得自己的迭代器 "指月"的故事: 你问我:什么是月亮? 我的手指向月亮 我是想告诉你:我指的东西是月亮 而不是我的手指是月亮 天上有10个月亮 我挨个指过去,让你访问每一个月亮 我的手指,就是迭代器

如何使用迭代器对集合进行遍历?

先go to definition,查看迭代器的用法 在这里插入图片描述 在这里插入图片描述 代码: 在这里插入图片描述

foreach循环,就是对集合遍历的 “简记法”

foreach ( local-variable-type identifier expression ) embedded-statement local-variable-type identifier :声明迭代变量,相当于迭代器 in:关键字 expression :对该表达式求值的结果是一个集合 embedded-statement:循环体 在这里插入图片描述

7.goto语句,throw语句,return语句

(1)goto语句:已经不是主流语句了,不做过多介绍,在switch语句中已经见过 (2)throw语句:try语句中已经做过整理 再次强调:throw语句的语法较灵活,关键字后可以跟一个异常类型的变量,也可以什么都不跟 (3)return语句

使用return语句需要注意的几点:

尽早return原则 尽早return的好处:可以让读这段代码的人立刻鉴别出来参数在什么情况下是有问题的;还可以避免整个方法写出来头重脚轻,使代码结构更加清晰 代码体会 在这里插入图片描述 在这里插入图片描述

如果写的方法的返回值不是void类型,而且在方法体中使用了选择语句,那么就必须保证选择语句的每一个分支度能够让该方法return 在这里插入图片描述

8.其他语句

(1)空语句 ; 在这里插入图片描述

(2)标签语句 在这里插入图片描述

(3)checked,unchecked语句 在这里插入图片描述

(4)using语句,(讲接口时讲) (5)yield语句,(讲集合) (6)lock语句,(讲多线程)

9.叮嘱

(1)看书,看文档 (2)动手写代码 (3)熟练使用搜索引擎



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3