Swift控制语句

分支语句

 

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

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. if boolean-expression {  
  2.    
  3. statement1;  
  4.    
  5.    
  6. }  [else if boolean-expression    {  
  7.    
  8. statement2;  
  9.    
  10. }  ] [else  {  
  11. statement3;  
  12.    
  13.    
  14. }  ]  
  15.    

 

实例:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1.    
  2. var number1 = 0;  
  3.   
  4. var number2 = 1;  
  5.    
  6. var max = 0;  
  7.    
  8. if number1 >number2 {  
  9.    
  10. max = number1;  
  11.    
  12. } else if number1 number2 {  
  13.    
  14. max = number2;  
  15.    
  16. } else {  
  17.    
  18. max = number1;  
  19.    
  20. }  
  21. println("Themaximum is \(max)")  

 

 

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

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. switch some value to consider {  
  2.    
  3. case value 1:  
  4.    
  5. respond to value 1 case value 2,                value 3:  
  6. respond to value 2 or 3  
  7.   
  8. default:  
  9.    
  10. otherwise, do something else  
  11.    
  12. }  

 

 

 

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

 

可以比较任何类型。

实例1:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. let someCharacter: Character ="e" switch someCharacter {  
  2. case "a", "e", "i","o", "u":  
  3.    
  4. 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":  
  5. println("\(someCharacter) is a consonant")  
  6.    
  7. default:  
  8.    
  9. println("\(someCharacter)  is not  a  vowel   or  a consonant")  
  10.    
  11. }  
  12.    

 

 

实例2:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. let count = 3_000  
  2.    
  3. let countedThings = "stars inthe Milky Way"varnaturalCount: String  
  4. switch count {  
  5.    
  6. case 0:  
  7.    
  8. naturalCount ="no" case 1...3:  
  9. naturalCount ="a few" case 4...9:  
  10. naturalCount ="several"  
  11.    
  12. case 10...99:  
  13.    
  14. naturalCount ="tens of" case 100...999:  
  15. naturalCount ="hundreds of" case 1000...999_999:  
  16. naturalCount ="thousands of"  
  17.    
  18. default:  
  19.   
  20. naturalCount = "millions and millions of"  
  21.    
  22.    
  23. }  
  24.    
  25. println("There are \(naturalCount) \(countedThings).")  

 

 

 

 

循环语句

 

while语句

 

do-while语句

 

for语句

 

for in语句

while 循环

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. while condition{  
  2.    
  3. statements  
  4.    
  5. }  
  6. vari = 100 varr = vars= vart = 0  
  7. while i 1000 {  
  8.   
  9. r= i / 100  
  10.    
  11. s=( i - r* 100 ) / 10  
  12.    
  13. t= i - r* 100 - s* 10  
  14.    
  15. if( i == r * r* r + s* s *s + t* t * t){  
  16.    
  17. println ( "i = \(i)" )  
  18.    
  19. }  
  20. i++  
  21. }  
  22. do while 循环   
  23. do {  
  24.    
  25. statements  
  26.    
  27. } while condition  
  28. vari = 100 varr = vars= vart = 0  
  29.   
  30. do      {  
  31.    
  32. r= i / 100  
  33.    
  34. s=( i - r* 100 ) / 10  
  35.    
  36. t= i - r* 100 - s* 10  
  37.    
  38. if( i == r * r* r + s* s *s + t* t * t){  
  39.  println ("i = \(i)" )  
  40.    
  41. }   
  42. i++  
  43. } while i 1000  

 

 

for 循环

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. for initialization; condition; increment {  
  2. statements  
  3. }  
  4. vari= varr = vars= 0  
  5. forvarj =0; j <=i; j++{  
  6.    
  7. r = j * j  
  8.    
  9. s=j * j * j  
  10.   
  11. println (" 整数为 :\(j) ");  
  12.    
  13. println (" 对应的平方和 :\( r)")  
  14.    
  15. println ( " 对应的立方和 : \( s ) " )  
  16.    
  17. }  

 

 

for in 循环

 

用于遍历集合。

 

1.  遍历范围

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1.    
  2. forindex in1...5{  
  3.    
  4. println( " \(index) times 5 is \(index * 5 )" )  
  5.    
  6. }  

 

 

2.  忽略循环变量

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. letbase = 3  
  2.   
  3. letpower = 10 varanswer = 1  
  4. for_ in 1...power {  
  5.    
  6. answer *=base  
  7.    
  8. }  
  9.    
  10. println (" \(base )to the power of \(power )is \(answer ) " )  

 

 

 

 

3.  遍历数组

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. letnames =[ "Anna" ,"Alex" , "Brian" ,"Jack"]  
  2.    
  3. forname innames {  
  4.    
  5. println( "Hello, \(name) !" )  
  6.    
  7. }  

 

4.  遍历字典

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1.  letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]  
  2.    
  3. for(animalName, legCount) innumberOfLegs {  
  4.    
  5. println( " \(animalName) s have \(legCount) legs" )  
  6.    
  7. }  

 

 

5 .遍历字符串

 

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1.  letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]  
  2.    
  3. for(animalName, legCount) innumberOfLegs {  
  4.    
  5. println( " \(animalName) s have \(legCount) legs" )  
  6.    
  7. }  
  8.  letnumberOfLegs =[ "spider" :8 , "ant" :6 , "cat" : 4]  
  9.    
  10. for(animalName, legCount) innumberOfLegs {  
  11.    
  12. println( " \(animalName) s have \(legCount) legs" )  
  13.    
  14. }  

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1.   

 

1.12.3 跳转语句

 

 •   continue

 •   break

 

•   fallthrough

 

•   return

 

 

 

 

 

1.continue 实例:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. for var i = 0; i 100; i++ {  
  2.    
  3. if i % 10 == 0 {  
  4.    
  5. continue;  
  6.    
  7. }  
  8.    
  9. println("i = \(i)");  
  10.    
  11. }  

 

2. break 实例:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. for var i = 0; i 10;i++ {  
  2.    
  3. if i == 3 {  
  4.  break;  
  5.  }  
  6. println("i = \(i)");  
  7. }  
  8.  println("Game Over!");  

 

3. fallthrough 实例:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. let integerToDescribe = 5  
  2.  var description = "Thenumber \(integerToDescribe) is"  
  3.  switchintegerToDescribe {  
  4.  case 2, 3, 5, 7, 11, 13, 17, 19:  
  5.  description += " a prime number, and also"fallthrough  
  6. default:  
  7.  description += " an integer."  
  8. }  
  9.    
  10. println(description)  

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

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

posted @ 2014-06-22 21:29  智捷iOS课堂  阅读(343)  评论(0编辑  收藏  举报