• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >swift > Swift流程控制之循环语句和判断语句详解

Swift流程控制之循环语句和判断语句详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了swift for循环,taylor swift,swift,swift code是什么意思,taylor swift好听的歌等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次;if和switch语句来执行确定的条件下不同的分支的代码;break和continue关键字能将运行流程转到你代码的另一个点上。

除了C语言传统的for-condition-increment循环,Swift加入了for-in循环,能更加容易的遍历arrays, dictionaries, ranges, strings等其他序列类型。

Swift的switch语句也比C语言的要强大很多。 Swift中switch语句的case语句不会“掉入”下一个case,避免了c语言忘记写break语句产生的错误。 case可以匹配许多不同的模式,包括范围匹配,元组匹配或者抛给指定的类型。匹配值在一个case条件下可以绑定到临时常量或变量,可以在case的代码块中使用,复杂匹配条件下可以表示为每一个case的条件

一、For Loops - For循环

for循环用来多次执行一组语句 ,Swift提供了两种形式:

1.for-in执行范围,序列,集合或级数等每一项中的一组语句
2.for-condition-increment执行一组语句直到确定的条件出现,通常在每一个循环结束前递增一个计数

For-In循环

使用for-in来遍历集合中的项目,比如数组的范围,排列中的项或者字符串中的字符。

下面的例子打印了表中的5个元素
 for index in 1...5 {
     println("\(index) times 5 is \(index * 5)")
 }
// 1 times 5 is 5
// 2 times 5 is 10
// 3 times 5 is 15
 // 4 times 5 is 20
// 5 times 5 is 25 </div>
例子中被迭代集合的项是一个封闭范围内从1到5的数字,就是上面标识为封闭范围操作符的 (...)。 Index的值被设为第一个数据的范围(1), 然后执行循环中的语句。在本例中,循环只包含了一句话,根据index现有的值打印5次乘法表的一个结果。当执行完语句之后,index的值被更新为范围中的第二个值,然后再次调用println函数。这个操作会一直持续,直到范围的终点。

在上面的例子中,index是一个常量,它的值在每次迭代的开始时自动初始化,使用前不会被声明,就是简单的将其隐性声明纳入循环的声明,不需要使用let来声明关键字。

NOTE:
Index常量仅仅存在于循环的范围内。如果你想要在循环之后得到index的值,或者想要使用index的值作为变量,你必须在循环之前声明它。
</div>

如果不需要范围的值,可以用下划线替代变量名来忽略这些值:
 let base = 3
 let power = 10
 var answer = 1
 for _ in 1...power {
     answer *= base
 }
 println("\(base) to the power of \(power) is \(answer)")
 // prints "3 to the power of 10 is 59049"</div>
例子中计算两数相乘(在本例中,3乘以10)。乘法初始值为1,每次乘3,乘10次,使用半封闭循环从0到9。这个计算不需要通过循环来知道每个计数器的值--仅仅只需要执行正确的循环次数。下划线操作符 _ (用于替代循环变量)将忽略掉个体值,并且在每一次循环迭代期间不给现有的变量提供访问。

使用for-in循环来迭代出array中的每一个项:
let names = ["Anna", "Alex", "Brian", "Jack"]
for name in names {
    println("Hello, \(name)!")
}
// Hello, Anna!
// Hello, Alex!
// Hello, Brian!
// Hello, Jack!</div>
同样可以迭代字典来访问其中的键值对。当迭代字典时里面的每一个项都以(key,value)元组的形式来返回,你可以在for-in的循环体中分解 (key, value) 元组的成员,把成员作为显性命名的常量来使用。下面例子,字典的key被分解为animalName的常量,字典的值被分解名为legCount的常量:
let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
for (animalName, legCount) in numberOfLegs {
println("\(animalName)s have \(legCount) legs")
}
// spiders have 8 legs
// ants have 6 legs
// cats have 4 legs</div>
Dictionary中的项的迭代顺序可能跟它们插入时的顺序不一样。因为Dictionary中的内容本质上是无序的,所以迭代它们不能保证检索时的顺序。更多关于排列和字典的内容详见 Collection Types章节。

除了排列和字典,for-in循环还能迭代字符串中的Character(字符):
for character in "Hello" {
    println(character)
}
// H
// e
// l
// l
// o</div>

For-Condition-Increment For-条件-递增

除了for-in循环,Swift还支持传统C语言按条件递增的for循环
for var index = 0; index < 3; ++index {
    println("index is \(index)")
}
// index is 0
// index is 1
// index is 2</div>
这是常用的形式:
for <initialization>; <condition>; <increment> {
    <statements>
}</div>
封号把循环定义隔为了三个部分,跟C语言一样。然而与C不同的是,Swift不需要用括号把 “初始化; 条件; 增量” 的代码块包起来。

循环按照下面流程执行:

1.当循环第一次进入,initialization expression(初始化表达式)计算一次,设置好循环所需的常量或者变量。

2.计算condition expression(条件表达式)。如果计算结果为false(假),循环终止,并继续执行for循环尾括号(})后面的代码。如果结果为(true)真,则执行循环体大括号内的代码。

3.在所有的语句执行完后,计算increment expression(增量表达式)。计数器可能递增或递减,也可能根据语句执行的结果将初始化变量设为新的值。计算完增量表达式返回到第2步,条件表达式再次被计算。

上面描述的循环体的形式和执行过程可以简单的等同于:
<initialization>
while <condition> {
    <statements>
    <increment>
}</div>

常量和变量在初始化表达式中的声明(比如var index = 0)只在for循环自己内部有效。如果需要知道index最终的值,必须在循环开始前声明index:
var index: Int
for index = 0; index < 3; ++index {
  

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Swift 循环
  • swift中c风格的for循环执行效率
  • 详解Swift编程中的for循环的编写方法
  • Swift流程控制之循环语句和判断语句详解

相关文章

  • 2017-05-28MyBatis中SqlSession实现增删改查案例
  • 2017-05-28Swift教程之函数详解
  • 2017-05-28详解Swift的switch...case语句中break关键字的用法
  • 2017-05-28通过一个map替换字符串中指定的字符变量方法
  • 2017-05-28MySQL+SSM+Ajax上传图片问题
  • 2017-05-28Swift之UITabBarController 导航控制器的自定义
  • 2017-05-28Swift3.0 GCD定时器的使用DEMO
  • 2017-05-28Swift调用Objective-C代码
  • 2017-05-28Swift实现快速排序算法的代码示例
  • 2017-05-22Swift 数据类型

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Swift编程中的一些类型转换方法详解
    • Swift 结构体
    • 详解Swift中的数据类型类型转换
    • 深入讲解C语言编程中volatile修饰符的作用
    • MyBatis框架简介
    • 详解Swift中enum枚举类型的用法
    • Swift类型创建之自定义一个类型详解
    • Swift的开发环境搭建以及基本语法详解
    • 详解Swift面向对象编程中的方法(method)
    • 零基础上手Swift快速入门教程概览

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有