swift语言基础(二)流程控制
2016-01-07 22:48
399 查看
关于流程控制,其实swift语言中的流程控制与大多数语法规则有着差不多的相似之处。以下就是我通过对官网的学习:
代码开源
for语句
let individualScores = [75,43,103,87,12]
var teamScore = 0
for score in individualScores{
if score > 50{
teamScore += 3
}else{
teamScore += 1
}
}
print(teamScore)
对于空值,可以在类型声明后添加“?”,显式标明该类型可以为空
var optionalString:String? = "hello"
optionalString = nil
let defaultColorName = "red"
let colorNameToUse = optionalString ?? defaultColorName//如果前者为空返回后者,如果前者不为空就返回前者。
print(colorNameToUse)
let optionalName:String? = "John Appleseed"
var gretting = "Hello!"
if let name = optionalName {
gretting = "Hello,\(name)"//\(常量或者变量名)这样用于插入某个字符串中
}
print(gretting)
for-in对于数据范围/序列/集合等中的每一个元素,都执行一次。
for index in 1...5{//1...5表示1到5这个范围
print("\(index) times is \(index * 5)")
}
for-condition-increment一直执行,直到特定的条件满足,每一次执行,都增加一个计数。
如果不需要序列中的每一个值用“_”来忽略它,只执行循环本身
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
print(answer)
}
print("\(base) to the power of \(power) is \(answer)")
遍历字典
let interestingNumber = ["prime": [2,3,5,7,11,13],"Fibonacci":[1,1,2,3,5,8],"Square":[1,4,9,16,25]]
var largest = 0
for (kind , numbers) in interestingNumber {
print("\(kind) is \(numbers)")
}
for (_ , numbers) in interestingNumber {
for number in numbers {
if number > largest {
largest = number
}
}
}
print(largest)
OC中的循环表达方法
for var index = 0; index < 3; ++index {
print("index is \(index)")//如果想要在循环后继续使用index的话,要在循环之前定义好。
}
//while循环
let finalSquare = 25
var board = [Int](count:finalSquare + 1, repeatedValue:0)
board[03] = +08;board[06] = +11;board[09] = +08;board[10] = +02;board[14] = -10;board[19] = -11;board[22] = -02;board[24] = -08;
var square = 0
var diceRoll = 0
while square < finalSquare {
if ++diceRoll == 7 { diceRoll = 1}
square += diceRoll
if square < board.count {
square += board[square]
}
print(square)
}
print(board)
repeat {//这里和C不一样,用的repeat
square += board[square]
if ++diceRoll == 7 {diceRoll = 1}
square += diceRoll
print(square)
}while square < finalSquare
print("Game over")
与c语言一样只是条件不用加括号
条件语句
var temperatureInFahrenherit = 30
if temperatureInFahrenherit <= 32 {
print("It's very cold .Consider wearing a scarf")
}
temperatureInFahrenherit = 40
if temperatureInFahrenherit <= 32 {
print("It's very cold. Consider wearing a scarf")
}else {
print("It's not that cold .Wear a t-shirt")
}
多分支判断与C语言一样只是条件没有括号。
switch语句
let someCharacter:Character = "e"
switch someCharacter {
case "a","e","i","o","u":
print("\(someCharacter) is vowel")
case "b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z":
print("\(someCharacter) is a consonant")
default:
print("\(someCharacter) is not a vowel or a consonant")
}
代码开源
for语句
let individualScores = [75,43,103,87,12]
var teamScore = 0
for score in individualScores{
if score > 50{
teamScore += 3
}else{
teamScore += 1
}
}
print(teamScore)
对于空值,可以在类型声明后添加“?”,显式标明该类型可以为空
var optionalString:String? = "hello"
optionalString = nil
let defaultColorName = "red"
let colorNameToUse = optionalString ?? defaultColorName//如果前者为空返回后者,如果前者不为空就返回前者。
print(colorNameToUse)
let optionalName:String? = "John Appleseed"
var gretting = "Hello!"
if let name = optionalName {
gretting = "Hello,\(name)"//\(常量或者变量名)这样用于插入某个字符串中
}
print(gretting)
for-in对于数据范围/序列/集合等中的每一个元素,都执行一次。
for index in 1...5{//1...5表示1到5这个范围
print("\(index) times is \(index * 5)")
}
for-condition-increment一直执行,直到特定的条件满足,每一次执行,都增加一个计数。
如果不需要序列中的每一个值用“_”来忽略它,只执行循环本身
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
print(answer)
}
print("\(base) to the power of \(power) is \(answer)")
遍历字典
let interestingNumber = ["prime": [2,3,5,7,11,13],"Fibonacci":[1,1,2,3,5,8],"Square":[1,4,9,16,25]]
var largest = 0
for (kind , numbers) in interestingNumber {
print("\(kind) is \(numbers)")
}
for (_ , numbers) in interestingNumber {
for number in numbers {
if number > largest {
largest = number
}
}
}
print(largest)
OC中的循环表达方法
for var index = 0; index < 3; ++index {
print("index is \(index)")//如果想要在循环后继续使用index的话,要在循环之前定义好。
}
//while循环
let finalSquare = 25
var board = [Int](count:finalSquare + 1, repeatedValue:0)
board[03] = +08;board[06] = +11;board[09] = +08;board[10] = +02;board[14] = -10;board[19] = -11;board[22] = -02;board[24] = -08;
var square = 0
var diceRoll = 0
while square < finalSquare {
if ++diceRoll == 7 { diceRoll = 1}
square += diceRoll
if square < board.count {
square += board[square]
}
print(square)
}
print(board)
repeat {//这里和C不一样,用的repeat
square += board[square]
if ++diceRoll == 7 {diceRoll = 1}
square += diceRoll
print(square)
}while square < finalSquare
print("Game over")
与c语言一样只是条件不用加括号
条件语句
var temperatureInFahrenherit = 30
if temperatureInFahrenherit <= 32 {
print("It's very cold .Consider wearing a scarf")
}
temperatureInFahrenherit = 40
if temperatureInFahrenherit <= 32 {
print("It's very cold. Consider wearing a scarf")
}else {
print("It's not that cold .Wear a t-shirt")
}
多分支判断与C语言一样只是条件没有括号。
switch语句
let someCharacter:Character = "e"
switch someCharacter {
case "a","e","i","o","u":
print("\(someCharacter) is vowel")
case "b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z":
print("\(someCharacter) is a consonant")
default:
print("\(someCharacter) is not a vowel or a consonant")
}
相关文章推荐
- Apple Swift学习教程
- 你应该学习哪种编程语言?
- [转]我们需要一种其他人能使用的编程语言
- 介绍 Fedora 上的 Swift
- Ruby基础知识之基本流程控制
- Lua中的控制结构(流程控制)简明总结
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- ruby 流程控制 方法
- C#语言主要特性总结
- Erlang中的函数与流程控制介绍
- C语言中static的作用及C语言中使用静态函数有何好处
- PHP检测用户语言的方法
- JavaScipt基本教程之JavaScript语言的基础
- Python 流程控制实例代码
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 各种语言、服务器301跳转代码全集
- 查看Java所支持的语言及相应的版本信息