一、for…in 结构

for i in 0...4{

print(i)    //使用到了变量 i

}

for _ in 0...1{  // 后期没有使用到变量,可以直接用个下划线 _  占位就行了

print("hello")

}

二、while    结构

var i : Int = 0

while i < 5 {

print("a")

i += 1

}

//repeat…while 结构 (相当于do...while)

var j : Int = 0

repeat {

print("b")

j += 1

}while j < 2

三、if语句

//if … else if语句

var h : Int = 10

if h < 5{     //条件的判断没有小括号

print("c")

}else if h < 20 {

print("d")

}

四、switch结构

//不存在隐式的贯穿  (可以不写break)

1.switch…case  中的多个条件的使用

var sw1 : Int = 1

switch sw1 {

case 1,2,3 : print("aaa")

//    break

case 5,6,7 : print("bbb")

//    break

case 10,11 : print("ccc")

//    break

case 15,16 : print("ddd")

//    break

default:

print("eee")

}

2.switch…case  中的区间使用

var sec = 87

switch sec {

case 91...100:

print("A")

case 81...90:

print("B")

default:

print("C")

}

3.switch…case 中的元组_使用

var yuanzu = (2,2)

switch yuanzu{

case (1,1):

print("1,1")

case (2,2):

print("2,2")

case (3,3):

print("3,3")

default:

print("4,4")

}

//只判断第一个元素,第二个用下划线_表示任意

var yuanzu1 = (2,3)

switch yuanzu1{

case (_,3):

print("1,1")

case (2,_):

print("2,2")

case (3,_):

print("3,3")

default:

print("4,4")

}

4.switch…case 中的元组值绑定

var yuanzu2 = (2,3)

switch yuanzu2{

case (let x,3):  //类似下滑线, 但是能获取到

print(x)

case (2,2):

print("2,2")

case (3,3):

print("3,3")

default:

print("4,4")

}

5.switch…case 中的where条件语句

var yuanzu3 = (2,3)

switch yuanzu3{

case let (x, y) where x==y :

print("相同")

default:

print("不同")

}

6.switch…case 中的fall through

var yuanzu4 = (2,2)

switch yuanzu4{

case (1,1):

print("1,1")

case (2,2):

print("2,2")

fallthrough   //贯穿,继续向下执行

case (3,3):

print("3,3")

default:

break

}

总结:控制转移语句

//1.continue  告诉一个循环体立刻停止  本次 循环迭代,重新开始下次循环迭代

//2.break   会立刻结束  整个  控制流的执行

//a.当在一个循环体中使用break时,会立刻中断该循环体的执行,然后跳转到表示循环体结束的大括号(})后的第一行代码。不会再有本次循环迭代的代码被执行,也不会再有下次的循环迭代产生。

//b.当在一个switch代码块中使用break时,会立即中断该switch代码块的执行,并且跳转到表示switch代码块结束的大括号(})后的第一行代码。

//3.fallthrough  贯穿关键字不会检查它下一个将会落入执行的 case 中的匹配条件。fallthrough简单地使代码执行继续连接到下一个 case 中的执行代码

 例1:

for i in 0...3{

for j in 0...3{

if j == 2{

continue  //停止本次循环

}

print("i \(i) j \(j)")

}

}

例2:

//终止带 标签 的循环(给循环加个名字)

abc : for i in 0...3{

def : for j in 0...3{

if j == 2{

break abc //终止abc循环

}

print("i \(i) j \(j)")

}

}

控制语句 for while if switch的更多相关文章

  1. 控制语句(if-else+循环+switch)汇编规则

    [1]说说条件码 最常用的的条件码有: CF:进位标志 (无符号溢出) ZF:零标志 SF:符号标志(结果为负数) OF:溢出标志 (补码溢出, 有符号溢出) [2]有两类指令设置条件码而不改变任何其 ...

  2. JS流程控制语句 多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便。

    多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便. 语法: switch(表达式) { case值1: 执行代码块 1 break; case值2: 执行代码 ...

  3. Java循环控制语句-switch

    Java循环控制语句之一switch 不同于其他循环控制语句的特性: switch的英文解释为开关,正如它的解释一样,switch循环的特点就像开关一样,跳到哪一个条件即会出现某一种结果. 写法: s ...

  4. SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式

    T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...

  5. PHP7语法知识(二):流程控制语句、函数、字符串、数组

    流程控制: 一.条件控制语句 1.if条件控制语句: 2.switch分支语句: 二.循环控制语句 1.while循环: 2.do while循环: 3.for循环: 4.foreach循环: 三.跳 ...

  6. [IOS]《A Swift Tour》翻译(一)

    以下翻译内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3768936.html 碎碎念... Swift是苹果在WWDC刚发 ...

  7. 【C语言入门教程】3.1 程序的 3 种基本结构

    程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...

  8. clang format 官方文档自定义参数介绍(中英文)

    官方文档:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 中文 在代码中配置样式 当使用 clang::format::reformat ...

  9. JSP语法

    第3章  JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...

随机推荐

  1. 自用LogSystem入库分享

    .mytitle { background: #2B6695; color: white; font-family: "微软雅黑", "宋体", "黑 ...

  2. vue.js环境搭建

    安装 nodejs 地址 :https://nodejs.org/en/ npm安装最新版本 更新npm :npm update -g 安装淘宝镜像 npm install -g cnpm --reg ...

  3. Eclipse 报java.lang.UnsupportedClassVersionError: ("yourclass") bad major version at offset=6

    报这个错误是指你的jar包或者class 的被编译的jdk版本比当前runtime的jdk版本高. 解决问题 1)如果是jar包,重新用jdk 1.6编译你的jar 包 2)如果是java文件或者项目 ...

  4. JAVA中的栈和堆

    JAVA在程序运行时,在内存中划分5片空间进行数据的存储.分别是:1:寄存器.2:本地方法区.3:方法区.4:栈.5:堆. 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了. ...

  5. Arduino入门学习

    一直听到许多做物联网.智能家居的控制器使用的是Arduino,从师兄那里拿到了一块Arduino开发板,进行了一下午的学习,感觉这个适合小孩子们玩:) 废话少说,总结一下,便于以后可能会用得到.我主要 ...

  6. Android Studio --“Cannot resolve symbol” 解决办法

    鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用. 多半是因为 Androi ...

  7. dotnet new 命令使用模板

    dotnet new 命令使用模板快速生成单页应用. 最新版.NET Core SDK RC4 最大改动是更新了 dotnet new 命令. dotnet new 默认不再创建控制台应用,而是展示帮 ...

  8. Unity编程标准导引-3.2 MonoBehavior 组件父类重构

    本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.csdn.net/andrewfan 3.2MonoBehavior 组件父类重构 为了让我们的组件类用起来更方便,我们将上一节的 ...

  9. linux下apache 的安装

    1.进入work目录下:cd /usr/local/work(如没有则自己新建,命令:mkdir /usr/local/work) 2.在woke目录下从网站下载apache并解压:wget http ...

  10. &与&& C语言

    &是一个位运算符,就是将两个二进制的数逐位相与,就是都是1才是1,只要有一个为0则为0,结果是相与之后的结果.&&是一个逻辑运算符,就是判断两个表达式的真假性,只有两个表达式同 ...