开发者社区> 关东升> 正文

Swift控制语句

简介: <div> <p><span style="font-size:14px;">分支语句</span></p> <p><span style="font-size:14px;"> </span></p> <p><span style="font-size:14px;">1. 条件语句 if-else ,基本语法形式如下,其中 “[]” 中 的部分可以省略。</span></p> <p><span
+关注继续查看

分支语句

 

1. 条件语句 if-else ,基本语法形式如下,其中 “[]” 中 的部分可以省略。

 

if boolean-expression {
 
statement1;
 
 
}  [else if boolean-expression    {
 
statement2;
 
}  ] [else  {
statement3;
 
 
}  ]
 

实例:

 

 
var number1 = 0;

var number2 = 1;
 
var max = 0;
 
if number1 >number2 {
 
max = number1;
 
} else if number1 < number2 {
 
max = number2;
 
} else {
 
max = number1;
 
}
println("Themaximum is \(max)")

2 .多分支语句 switch 它的语法形式如下:

 

switch some value to consider {
 
case value 1:
 
respond to value 1 case value 2,                value 3:
respond to value 2 or 3

default:
 
otherwise, do something else
 
}

 

每个 case 不需要显式地添加 break ,每个 case 至少有 一条语句。

 

可以比较任何类型。

实例1:

 

let someCharacter: Character ="e" switch someCharacter {
case "a", "e", "i","o", "u":
 
println("\(someCharacter) isa vowel")case "b", "c", "d", "f", "g", "h", "j", "k", "l","m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
println("\(someCharacter) is a consonant")
 
default:
 
println("\(someCharacter)  is not  a  vowel   or  a consonant")
 
}
 

实例2:

 

let count = 3_000
 
let countedThings = "stars inthe Milky Way"varnaturalCount: String
switch count {
 
case 0:
 
naturalCount ="no" case 1...3:
naturalCount ="a few" case 4...9:
naturalCount ="several"
 
case 10...99:
 
naturalCount ="tens of" case 100...999:
naturalCount ="hundreds of" case 1000...999_999:
naturalCount ="thousands of"
 
default:

naturalCount = "millions and millions of"
 
 
}
 
println("There are \(naturalCount) \(countedThings).")

 

 

循环语句

 

while语句


do-while语句

 

for语句

 

for in语句

while 循环

while condition{
 
statements
 
}
vari = 100 varr = 0 vars= 0 vart = 0
while i < 1000 {

r= i / 100
 
s=( i - r* 100 ) / 10
 
t= i - r* 100 - s* 10
 
if( i == r * r* r + s* s *s + t* t * t){
 
println ( "i = \(i)" )
 
}
i++
}
do while 循环 
do {
 
statements
 
} while condition
vari = 100 varr = 0 vars= 0 vart = 0

do      {
 
r= i / 100
 
s=( i - r* 100 ) / 10
 
t= i - r* 100 - s* 10
 
if( i == r * r* r + s* s *s + t* t * t){
 println ("i = \(i)" )
 
} 
i++
} while i < 1000


for 循环

for initialization; condition; increment {
statements
}
vari= 8 varr = 0 vars= 0
forvarj =0; j <=i; j++{
 
r = j * j
 
s=j * j * j

println (" 整数为 :\(j) ");
 
println (" 对应的平方和 :\( r)")
 
println ( " 对应的立方和 : \( s ) " )
 
}

for in 循环

 

用于遍历集合。


1.  遍历范围

 
forindex in1...5{
 
println( " \(index) times 5 is \(index * 5 )" )
 
}

 

2.  忽略循环变量

 

letbase = 3

letpower = 10 varanswer = 1
for_ in 1...power {
 
answer *=base
 
}
 
println (" \(base )to the power of \(power )is \(answer ) " )

 

 

3.  遍历数组

 

letnames =[ "Anna" ,"Alex" , "Brian" ,"Jack"]
 
forname innames {
 
println( "Hello, \(name) !" )
 
}

4.  遍历字典

 letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]
 
for(animalName, legCount) innumberOfLegs {
 
println( " \(animalName) s have \(legCount) legs" )
 
}


5 .遍历字符串

 

 letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]
 
for(animalName, legCount) innumberOfLegs {
 
println( " \(animalName) s have \(legCount) legs" )
 
}
 letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]
 
for(animalName, legCount) innumberOfLegs {
 
println( " \(animalName) s have \(legCount) legs" )
 
}


1.12.3 跳转语句

 

 •   continue

 •   break

 

•   fallthrough

 

•   return

 

 

 

 

 

1.continue 实例:

 

for var i = 0; i < 100; i++ {
 
if i % 10 == 0 {
 
continue;
 
}
 
println("i = \(i)");
 
}

2. break 实例:

 

for var i = 0; i < 10;i++ {
 
if i == 3 {
 break;
 }
println("i = \(i)");
}
 println("Game Over!");

3. fallthrough 实例:

 

let integerToDescribe = 5
 var description = "Thenumber \(integerToDescribe) is"
 switchintegerToDescribe {
 case 2, 3, 5, 7, 11, 13, 17, 19:
 description += " a prime number, and also"fallthrough
default:
 description += " an integer."
}
 
println(description)

Swift交流讨论论坛论坛:http://www.cocoagame.net

欢迎加入Swift技术交流群:362298485


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完)
原文:Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完) Swift实战-豆瓣电台(九)简单手势控制暂停播放   全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/   这节我们主要讲UITapGestureReco...
883 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18581 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27723 0
JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
<h1 style="text-align:center">Java流程控制语句</h1> <p><br></p> <p>本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析。</p> <p><br></p> <h2>1、顺序语句</h2> <p><br> 顺序结构中的语句可分为:<em><strong>表达式语句</st
2361 0
+关注
关东升
国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问。 著有多部移动开发畅销书。
317
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载