Swift开发标准教程-程序控制结构_第1页
Swift开发标准教程-程序控制结构_第2页
Swift开发标准教程-程序控制结构_第3页
Swift开发标准教程-程序控制结构_第4页
Swift开发标准教程-程序控制结构_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序控制结构5.1顺序结构5.2选择结构——if语句5.3选择结构——switch语句5.4循环结构——for语句5.5循环结构——while语句5.6跳转语句5.7标签语句5.8综合案例5.9上机实践5.1顺序结构顺序结构就是按书写顺序让程序自上而下,依次执行的结构。5.2选择结构——if语句5.2.1if语句5.2.2if...else语句5.2.3if...elseif语句5.2.4if语句的嵌套5.2.1if语句if语句用于实现条件选择结构,它在可选动作中作出选择,执行某个分支的程序段。if语句最简单的形式就是只包含一个条件,并且只可以判断一种情况。其语法形式如下:if表达式语句5.2.2if...else语句当根据条件表达式判断,有两种情况时,就需要使用if...else语句。其一般表示形式如下:if表达式语句1else语句25.2.3if...elseif语句当判定的条件有多个,并且有依赖关系时,需要使用if...elseif语句。其一般表示形式如下:if表达式1语句1elseif表达式2语句2elseif表达式3语句3…elseif表达式m语句melse语句n5.2.4if语句的嵌套当if语句中的执行语句又包括if语句时,则构成了if语句的嵌套,其一般表示形式如下:if表达式

if语句或者为:if表达式

if语句else

if语句5.3选择结构——switch语句5.3.1switch语句基本形式5.3.2switch语句的使用规则5.3.1switch语句基本形式switch语句和if…elseif语句一样,也是处理多分支语句的。它用来考察一个条件表达式的多种可能性。它将会与多个case分支比较,从而决定执行哪一个分支的代码。其一般表示形式如下:switch表达式{case常量或者常量表达式1:语句1case常量或者常量表达式2:语句2…case常量或者常量表达式n:语句ndefault:语句n+1}5.3.2switch语句的使用规则在使用switch语言时,开发者需要遵守以下7条规则。1.相同的常量或常量表达式在一个switch语句中每一个case后面的常量或常量表达式都不可以一样。如果一样,程序只会执行最先发现值相等的分支语句,剩余的语言不会执行。2.可执行的语句不能为空每一个case中都需要有可以执行的语句,如果其中一个没有可以执行的语句,整个程序就会出现错误。3.多条件组合一个case分支中可以有多个值,此时需要使用“,”逗号分隔开。4.范围匹配switch语句的case可以匹配一个数值范围。5.使用元组开发者可以使用元组在同一个switch语句中测试多个值。元组中的元素可以是值,也可以是区间。另外,使用下划线(_)来匹配所有可能的值。6.数值绑定case允许将switch语句中的值绑定给一个临时的变量或者常量中,这些常量或变量在该case分支里就可以被引用了,这种行为被称为值绑定。7.使用where关键字case中可以使用where语句来判断额外的条件。5.4循环结构——for语句5.4.1for...in循环5.4.2for-condition-increment条件循环5.4.1for...in循环for...in循环常常用于集合、字符串以及数字范围的访问中。它会对于数字范围、字符串、集合等中的每一个元素都执行一次。其一般表示形式如下:for常量in循环的项目语句1.遍历字符串在Swift代码中,字符串(String)就是由字符(Character)组成的。其中的每一个字符都是可以访问的。这时,可以使用forin语句以遍历的方式访问。04

forcharacterinstr.characters{05

print(character)06

}2.遍历数组数组可以和字符串一样,遍历其中的值。数组遍历方式有两种:一种是只遍历数组中的值;另一种是遍历索引值和值。以下依次讲解这两种方式。(1)只遍历数组中的值04

foriteminarray{05

print(item)06

}d(2)遍历数组中的索引值和值遍历数组中的索引值和值可以使用enumerate()方法。该方法返回的每一个元素均是一个元组。该元组包含元素索引值和元素值。其语法形式如下:数组名.enumerate()3.遍历集合集合和数组一样,也是可以遍历的。遍历集合的方式有两种:一种是只遍历集合中的值;另一种是遍历集合中的索引值和值。(1)只遍历集合中的值04

foriteminletters.sort(){05

print(item)06

}(2)遍历集合中的索引值和值遍历集合中的索引值和值可以使用enumerate()方法。该方法返回的每一个元素均是一个元组。该元组包含元素索引值和元素值。其语法形式如下:集合名.enumerate()4.遍历字典以下将讲解3种实现字典遍历的方法,分别为遍历字典中的值、遍历字典中的键以及遍历字典中的值和键。(1)遍历字典中的值遍历字典中得值可以使用values属性实现,其语法形式如下:字典名.values(2)遍历字典中的键遍历字典中的键需要使用keys属性实现,其语法形式如下:字典名.keys(3)遍历字典中的值和键对字典进行遍历时,可以直接遍历键值对。字典中得每一个元素都会返回一个元组。04

foriteminname{05

print(item)06

}当开发者不需要序列中的每一个值时,可以使用_代替for后面的常量,其语法形式如下:for_in循环的项目5.4.2for-condition-increment条件循环for-condition-increment条件循环它包括了初始条件、条件语句和增量语句。其一般表示形式如下:for(表达式1,表达式2,表达式3)语句5.5循环结构——while语句5.5.1while循环5.5.2repeatwhile循环5.5.1while循环while语句是最简单的循环语句,其一般表示形式如下:while表达式语句5.5.2repeatwhile循环在repeatwhile循环中,循环体中的语句会先被执行一次,然后才开始检测循环条件是否满足,其循环的一般形式:repeat语句while表达式5.6跳转语句5.6.1continue语句5.6.2break语句5.6.3fallthrough5.6.1continue语句continue语句会告诉一个循环停止现在的执行语句,开始下一次的循环。03

fori=0;i<=10;++i{04

if(i%2!=0){

//判断i是否为奇数05

continue06

}5.6.2break语句break语句将终止整个循环的执行。它可以在循序中使用。03

for(i=0;i<=10;++i){04

if(i==6){

//判断i是否等于605

break06

}07

print(i)08

}5.6.3fallthroughfallthrough使用在switch代码块中,实现依次执行每个case语句。04

switchintegerToDescribe{05

case2,3,5,7,11,13,17,19:06

description+="aprimenumber,andalso"07

fallthrough08

default:09

description+="aninteger."10

}5.7标签语句5.7.1标签语句的定义5.7.2标签语句的使用5.7.1标签语句的定义标签语句通常放在循环或switch语句的行首,并且使用冒号分割。下面为while循环语句做一个标签,其语法形式如下:标签名称:while表达式{语句}同样的方式适用于其他循环体和switch代码块。5.7.2标签语句的使用标签语句一般使用在break或者continue语句时后面,就可以控制跳转该标签代表的循环或switch了。03

loop:whilei<=100{04

print("外层循环\(i)开始")05

switch(i){06

case0...60:07

print("E")08

case61...70:09

print("D")10

case71...80:11

print("C")12

breakloop13

case81...90:14

print("B")15

default:16

print("A")17

}5.8综合案例5.8.1打印九九乘法表5.8.2使用ifelse比较三个数值大小5.8.3计算1到100的奇数和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论