Swift学习2——控制语句

6 篇文章 0 订阅

一、swift语言控制语句

1.循环结构

1).for ... in 循环

import Foundation

var testArray = [100,80,70,33,55,12,56];

for s in testArray {
    println("s is \(s)");
}
输出结果:

s is 100
s is 80
s is 70
s is 33
s is 55
s is 12
s is 56
Program ended with exit code: 0

2).for循环

import Foundation

for(var i = 0; i < 10; i++){
    println(i)
}
输出结果为:

0
1
2
3
4
5
6
7
8
9
可以看出来和其他程序语言用法基本相同,就是可以省略分号。

3).do ... while循环

import Foundation

var i = 10;
do{
    println("i is \(i)")
    i--
}while(i > 0)
输出结果为:

i is 10
i is 9
i is 8
i is 7
i is 6
i is 5
i is 4
i is 3
i is 2
i is 1

如果你想写的精简一些,下面这种写法也不错

var m = 2
do {
    m = m * 2
    println (m)
} while m < 100

4).while循环

import Foundation

var i = 10;
while(i > 0){
    println(i)
    i--
}
打印输出:

10
9
8
7
6
5
4
3
2
1

同样可以写成:

var a = 0
while a < array1.count{
    a++
    println(a)
}
5).for in 0...n

还有种如下形式的写法:

var i = 100;
var array1 = String[]()
for s in 0..i{
    println(s)
    array1.append("item \(s)");
}
可以输出0——100

6).for (key,value) in 字典

这种写法真是很不错啊:

var dict = ["name":"ying","age":"19","gender":"woman"]
for (key,value) in dict{
    println("\(key),\(value)")
}
输出了:

gender,woman
name,ying
age,19
2.switch语句

import Foundation

var s = 1;
switch(s){
case 1 :
    println("dog")
case 2 :
    println("pig")
case 3 :
    println("egg")
case 4 :
    println("pear")
case 5 :
    println("duck")
default:
    println("default")
}
打印输出:

dog
上面的句子很简单,因为s为1,所以输出“dog”,值得一提的是default必须得写上,否则通不过编译。此外比较重要的是,和其他语言不同的是,swift把穿透去掉了,默认只执行一个case,如果要进行穿透需要显式使用: fallthrough;// 让继续往下走,请看如下示例:

import Foundation

var s = 3;
switch(s){
case 1 :
    println("dog")
case 2 :
    println("pig")
case 3 :
    println("egg")
    fallthrough
case 4 :
    println("pear")
case 5 :
    println("duck")
default:
    println("default")
}
我们在第三个case下面加入了fallthrough,因此输出结果就变成了:

egg
pear
还有其他的一些用法与不同,下次再说。

3.可选变量

var myName:String?="july"
上面的写法带了问号,说明myName是一个可选变量,可以为nil。注意:不能写成String ?   "july"或String ?"july"等有空格的形式。

var myName:String?="july"
if let name = myName {
    println("hello \(name)")
}
输出:

hello july
如果写成如下形式:

var myName:String?="july"
myName = nil
if let name = myName {
    println("hello \(name)")
}
则不输出。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值