判断&循环&跳转

说明

本节写的是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. java学习笔记(3)——面向对象

    this关键字 this是当前对象的引用,是运行期间当前对象本身. 可以使用this明确的访问当前对象的属性或者方法,类似于“我” this()可以调用本类的其他构造器,可以使用构造器的重用简化代码的 ...

  2. 从来没有天才 靠自己创造未来——Leo鉴书(29)

    之前在网上跟朋友们聊起天才这个话题,我认来从来没什么所谓天才,有朋友认为有的,只是我们定义不同,要不你看看苏轼? 持天才论者持两个观点:有些人天生擅长干某些事儿,也许是基因作怪:有些人的能力是上帝或者 ...

  3. wordpress文章ID不连续显示问题的完美解决

    在最新版的 wordpress 系统中,依然存在着文章ID不连续显示的问题,也就是我们还没有上传多少文章,在数据库里的ID号已经很大了,也就是说如果我们的博客使用的是固定链接,那么在前台显示的ID相差 ...

  4. [Angular2 Router] Load Data Based on Angular 2 Route Params

    You can load resource based on the url using the a combination of ActivatedRouteand Angular 2’s Http ...

  5. C语言待研究问题

    1.内存分配 变量的静态分配和静态变量的区别: 变量的静态分配和动态分配 2.堆和栈的区别 3.CPU的并发性 4.变量和参数的区别

  6. VC编译连接选项详解(转)

    大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在“使用”它,而不会想去“了解”它.因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设 ...

  7. 基于ARM-LINUX的温度传感器驱动-DS18B20

    转载:http://blog.csdn.net/ayangke/article/details/6883244 作者:冯建,华清远见嵌入式学院讲师. DS18B20数字温度传感器接线方便,封装成后可应 ...

  8. iso8583报文自学笔记

    一.8583报文组成 TPDU 报文头 应用数据 ISO8583 Msg ID 目的 地址 源地址 应用类别定义 软件 总版本号 终端 状态 处理 要求 保留使用(软件分版本号) 交易数据 60H N ...

  9. DIH

    DIH内存溢出: 在使用DIH时,容易报内存溢出错误.可以通过设置jvm大小来解决.设置方法如下: 在tomcat\bin\startup.bat 加入SET JAVA_OPTS=-Xms128m - ...

  10. IE 9渲染overflow的bug及解决

    问题: table父级元素div设置overflow:auto, 当触发table中的checkbox,dropdownlist事件控件时,父级div高度会自动增加(在底部增加空白行). 解决方案: ...