相关文章
Swift快速入门系列

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语句确实可以结束一个循环。