[swift]5.0控制语句

来源:互联网 发布:云联惠平台下载软件 编辑:程序博客网 时间:2024/06/05 03:00

在swfit语言中,也提供了类似C语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定 条件执行不同代码分支的if和switch语句,还有控制流程跳转到其他代码的break和continue语句。swift增加了for-in循环,用来更简单的遍历数组、字典、区间、字符串和其他序列类型。在本章内容中,将详细讲
解语句和流程控制的基本知识
5.1if语句
在swift程序中,if语句取决于一个或多个条件的值,if语句将决定执行哪一块代码。if语句有两种标准形式,在这两种形式里都必须有大括号。
(1)第一种形式是仅当条件为真时执行代码,例如
if condition
{statements
}
(2)第二种形式是在第一种形式的基础上添加else语句,当只有一个else语句时,例如如下所示的代码
if condition{
statements to execute if condition is true}
else {statements to execute if condition is false}

5.2switch语句
Switch 表达式{
case 常量:语句

Default: 语句}
case后面的常量不仅可以是整数常量或是字符常量,也可以是浮点,布尔,字符串等,并加上一个冒号(:)。不同于C,swift的case语句后面可以不加break,它会在自动执行完对应的case语句后,就结束switch的语块。而且Switch里可以用区间运算符。
范例:var rank1 = “A”
switch rank1{
case “A”, “B”: // 注意OC不能这样写
print(“优”)
case “C”:
print(“差”)
default:
print(“没有评级”)
}
Swift可使用区间的值
范例:
Let onePoint = (1,2)
Switch onePoint {
case(0,0):
Print(“0,0) 是在原点上”)
case(_,0):
Print(“(onePoint.0),0) 是在x轴上”)
case(0,_):
Print(“0,/(onePoint.1)) 是在y轴上”)
case(-3…3,-3…3):
Print(“(onePoint.0),(onePoint.1)) 是在正方形内”)
Default:
Print(“(onePoint.0),(onePoint.1)) 不在正方形内”)
}
输出结果
(1,2)是在正方形内
case子句的下划线(_)表示任何值。
在swift中在case语句中加上where关键字,可使条件变得更加严格。
let someOne = (“25”,”liyuanbo”)

switch someOne
{
case (_,let name) where name.hasPrefix(“li”):
println(“First name has li”)

default:
println(“First has not li”)
5.3guard语句
guard语句是swift 2.x新添加的关键词,与if语句非常相似,可以判断一个条件·为ture的情况下执行某语句,否则终止或或跳过执行某条语句。guard语句不像if语句可以不带 else,它必须必须带有else。它与if语句如此相似为什么还要它呢。那是因为它可以替换复杂的if-else语句嵌套,提高程序的可读性。
guard的基本语法如下
guard 条件表达式 else{
跳转语句
}
语句组
下面举一个例子
// 定义一个结构体
struct Blog{
let name:string?//?表示可选择类型Optional
let URL:string?
}
//定义一个函数
func ifStyleBlog(blog:Blog){
if let blogName =blog.name{
print(“博客名:(blog.name)”)
}else{
print(“没有该博客”)
}
}
func guardStyleBlog(blog:Blog){
guard let blogName =blog.name else{
print(“博客名:(blog.name)”)
return
}
print(“没有该博客”)
}
这样子就能清晰的看到if 和guard的区别了
** let blogName =blog.name 表达式为“值绑定”。他做了2个事情,一把blog.name 赋值给blogName 二是判断blogName是否为空。
5.4while语句
在swift程序中,while语句允许重复执行代码块。while语句的语法格式如下所示。
while condition {
statements}
while语句的执行流程如下所示。
(1)计算condition表达式:如果为真,转到第二步。如果为假,while至此执行完毕。
(2)执行statements,然后转到第一步。

5.5repeat while语句
repeat while 是在循环结束时判断条件是否符合。
语法:
Repeat
{
statement(s);
}while( condition );
流程图:
这里写图片描述
范例:
import Cocoa
var index = 15

repeat{
print( “index 的值为 (index)”)
index = index + 1}while index<20
index 的值为 15
index 的值为 16
index 的值为 17
index 的值为 18
index 的值为 19
5.6for语句
for语句是应用最广泛,功能最强的一个循环语句
它的格式如下
for 初始化;循环条件;跌送{
语句组
}
学过c的就会觉得swift跟c的for非常相似。只是for后面那3条语句有一个括号相乘。下面就举一个例子。
for var i=i;i<10;i++;{
print(“(i)*(i)=(i*i)”)
}
当然跌送可以有2个变量
如for x=0,y=10;x

0 0
原创粉丝点击