判断&循环&跳转

说明

本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思。

判断

很容易理解:如果……就……

if语句:测试特定条件是否满足,如果满足就执行某些代码,如果不满足就执行else中的代码。

int i=;
if(i==)
{
i=;
}
else
{
i=;
}

程序很简单,建立整数变量,初始化为0,经过一个判断{如果满足条件: i 等于 0,那么对 i 赋值 1,若不满足条件,即 i 不等于0 时,对 i 赋值 0}。
(x==y),两个等于号表示判断等号两边的值是否相等,判断结果是布尔值true或false。而一个等于号是赋值操作,这里是新手常犯错误的地方。

switch语句:拿一个变量和多个值比较,和哪个值相等,就执行这个值相对应的执行代码。

我基本没用过switch语句,因为几乎可以用if做到switch能做到的所有事情。

如果使用的话,须注意每个case用break结尾,并且可以使用default实现else的效果。

循环

for循环

for(第一次循环开始前执行的代码;条件语句-如果满足才执行下一次循环;每一次循环结束后执行的代码){循环体}

for是功能最强大的循环语句,几乎可以用它做到其他循环语句能做到的所有事,只是某些时候,用其他循环语句比较简单方便,接下来介绍某些时候是哪些时候。

while循环

while(条件语句-如果满足才执行下一次循环){循环体}。

while(true)//无限循环
{
if(表达式)//如果满足某个条件

break;//跳出循环

}

break语句是跳转语句的一种,提前介绍了,用于跳出循环,也就是结束该循环。

do...while循环

do{循环体}while(条件语句-如果满足才执行下一次循环)。

如此和while不同的是:不管如何,先执行一边循环体里的内容,再考虑循环的事。

foreach循环

foreach(变量类型 变量名 in 集合){循环体}

设置一个临时的变量,用于访问集合中的每一个个体,集合中有多少对象,就循环几次。

在循环体中可以通过此临时变量来使用此次循环中集合对应的个体,能访问,能调用其方法,修改其属性,但是不能修改临时变量,即不能对临时变量赋值。

跳转语句

break语句

在之前也介绍过,用于跳出循环。除此之外,break还可以在switch语句中用于退出某个case语句。

如果break放在switch语句或循环外部,就会产生编译错误。

continue语句

在循环体中使用,用于结束本回合循环,直接开始下一次循环。和break语句一样,通常是和if语句一起使用的。

continue语句执行后,还是会执行for循环的(每一次循环结束后执行的代码)。

return语句

return用于退出类的方法,把控制权返回给方法的调用者。

如果方法返回类型为void(表示不需要返回值),那么直接使用return返回,否则return语句必须返回这个类型的值,如果返回类型是引用类型,允许返回空值(null)。

goto语句

大多数人从未使用过……因为goto语句导致运行流程太混乱了……

理解C#系列 / 核心C# / 判断&循环&跳转的更多相关文章

  1. 理解C#系列 / 核心C# / 数据类型

    数据类型 数据类型 C#把数据类型分为两种:值类型和引用类型. 值类型和引用类型 值类型的变量直接指向存储的值,引用类型的变量指向值的引用.[理解:引用就像一个柜子的号码牌,可以顺藤摸瓜找到柜子.假如 ...

  2. 理解C#系列 / 核心C# / 常量

    常量 常量? 我对常量的理解就是在初始化完成后再也不变的“全局变量”. 定义常量 [const][空格][变量类型][空格][变量名称][=][值][:] const表示定义的是常量. 常量特点 常量 ...

  3. 理解C#系列 / 核心C# / 编译参数

    编译参数 编译控制台应用程序 csc 源文件.cs 编译Windows应用程序 csc /t:winexe 源文件.cs 编译类库应用程序 csc /t:libray 源文件.cs 编译引用类库的应用 ...

  4. 理解C#系列 / 核心C# / 名称空间

    名称空间namespace 名称空间 名称空间用来逻辑分类,而不是物理上的,名称空间与程序集无关[程序集:经由编译器编译得到的文件],同一个程序集中可以有2不同的名称空间,也可以在不同的程序集中定义同 ...

  5. 理解C#系列 / 核心C# / 枚举

    枚举 如果没有枚举 //1代表s号:2代表m号:3代表l号:4代表XL号:5代表XXL号 ; ){ //快递发M号的衣服 } 有了枚举之后 声明枚举(请原谅我使用了中文汉字) public enum ...

  6. 理解C#系列 / 核心C# / 变量

    变量 变量? 变量是对一个东西指定一个名称,变量的功能和人的名字差不多,提到名字就知道指的是什么. 变量类型? 变量类型说明了变量的类型,声明变量是一个整数,还是小数,还是字符,或是图像,或是人类,或 ...

  7. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)

    本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章).每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深 ...

  8. 深入理解javascript系列(4):立即调用的函数表达式

    本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...

  9. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

随机推荐

  1. MySQL Cluster 4个数据节点压力测试--mysqlslap工具压400W写

    锅巴哥的个人建议:cluster叫电信运营商版本,所以基本上在很大的用户并发量的情况下才会用到,对连接数的线性增长要求高的场景,千兆就不用想了, 没万兆就不用玩了. 很不幸,我的就是千兆网络,我的数据 ...

  2. 在Linux最大打开文件数限制下 MySQL 对参数的调整

    http://www.actionsky.com/docs/archives/78  2016年4月7日  周文雅 目录 1 起因 2 说明 3 MySQL调整参数的方式 3.1 计算 request ...

  3. LINUX 逻辑地址、线性地址、物理地址和虚拟地址 转

    一.概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应.——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地 ...

  4. C#如何读写和创建INI文件

    在做项目过程中,有时需要保存一些简单的配置信息,可以使用xml,也可以使用INI文件.下面是C#中读取INI的方法,相信大部分朋友都使用过这种方式.INI文件的存储方式如下, [section] ke ...

  5. mysql 历史记录查询

    SHOW SLAVE STATUS insert into jy510_admin set userid='123123' mysqlbinlog d:xampp\mysql\data\mysql-b ...

  6. redis 简介

    Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(diff ...

  7. VSS错误:The Sourcesafe Web service cannot be accessed at the specified address

    第一次使用正常,今天再次打开vs项目的时候就突然连不上vss的服务器了.       手动修改连接的时候会让输入一个address(http的) (一般正常的连接会是浏览的方式找到服务器文件的地址的) ...

  8. Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法

    一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources&g ...

  9. Android进阶笔记20:Android手机屏幕坐标系

    1. 手机屏幕坐标系: 整个坐标系是以手机屏幕左上角为原点(0,0),如下:

  10. iOS数据持久化存储:归档

    在平时的iOS开发中,我们经常用到的数据持久化存储方式大概主要有:NSUserDefaults(plist),文件,数据库,归档..前三种比较经常用到,第四种归档我个人感觉用的还是比较少的,恰恰因为用 ...