1.分支结构
Swift提供两种常见的分支控制结构:if语句和swich语句。一般来说,当条件简单且可能情况较少时使用if语句;当条件比较复杂情况较多时则可以考虑使用swich语句。
if条件语句
if语句有三种形式
第一种:
if expression
{
statements...
}
第二种:
if expression
{
statements...
}
else
{
statements...
}
第三种
if expression
{
statements...
}
else if expression
{
statements...
}
else
{
statements...
}
简单举个例子:
var age = 30
if age > 20
{
print("年龄大于20岁")
}else
{
print("年龄小于等于20岁")
}
switch分支语句
switch语法的语句格式为:
switch expression
{
case value1:
statements...
case value2,value3:
statements...
default:
statements...
}
举个简单例子:
var score = 78
switch score
{
case 91...100:
print("优秀")
case 81...90:
print("良好")
case 71...80:
print("中")
case 60...70:
print("及格")
case 0..<60:
print("不及格")
default:
break
}
使用switch语句需要注意的是,Swift的任意一个case块执行完成后会自动终止该switch语句,因此要求每个case块至少要包含一条语句,否则会导致编译错误。
2.循环结构
循环语句可能包括如下4个部分:
- 初始化语句(init_statements):在循环开始之前完成一些初始化操作。
- 循环条件(test_expression):决定是否执行循环体。
- 循环体(body_statements):循环的主体。
- 迭代语句(iteration_statements):通常用于控制循环条件的变量,使得循环在合适的时候结束。
while循环语句
while循环语句的语法格式:
[init_statements]
while test_expression
{
statements
[iteration_statements]
}
举个简单例子:
// 循环的初始化条件
var count = 0
while count < 10
{
print("count:\(count)")
// 迭代语句
count++
}
do while循环语句
do while循环先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则中止循环。do while循环的语法格式如下:
[init_statements]
do
{
statements
[iteration_statements]
}while test_expression
举个简单例子:
// 循环的初始化条件
var count = 1
do
{
print("count: \(count)")
// 循环迭代语句
count++
} while count < 10
for 循环语句
for 循环的基本语法格式如下:
for [init_statements]; [test_expression]; [iteration_statements]
{
statements
}
举个简单例子:
for var count = 0 ; count < 10 ; count++
{
print("count: \(count)")
}
for-in 循环语句
for-in循环专门用于遍历范围、序列和集合等包含的元素。for-in循环的基本语法格式如下:
for 常量名 in 范围|集合
{
statements
}
下面程序使用for-in循环遍历范围:
for number in 1..3
{
print(number)
}
3.控制循环
Swift提供了break和continue来控制循环;另外return也可以通过结束整个方法来结束循环。
用break结束循环
for var i = 0; i < 10 ; i++
{
print("i的值是:\(i)")
if i == 3
{
// 执行该语句时将结束循环
break
}
}
用continue忽略本次循环剩余语句
for var i = 0; i < 3 ; i++
{
print("i的值是\(i)")
if i == 1
{
// 忽略本次循环的剩下语句
continue
}
print("continue后的输出语句")
}
输出的结果为:
i的值是0
continue后的输出语句
i的值是1
i的值是2
continue后的输出语句
从运行结果来看,当i等于1时,程序没有输出“continue后的输出语句”,因为程序执行到continue时,忽略了本次循环中continue语句后的代码。
用return结束方法
func test()
{
for var i = 0; i < 10 ; i++
{
print("i的值是:\(i)");
if i == 1
{
return;
}
print("return后的输出语句")
}
}
test()
上面的程序,当i等于1时程序将完全结束。虽然return不是用来专门控制循环语句的关键字,但通过return语句确实可以结束一个循环。