/*
為南安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及南安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計、南安網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
算術(shù)運算符:除了取模,其它和OC一樣,包括優(yōu)先級
+ - * / % ++ --
*/
var result = 10 + 10
result = 10 * 10
result = 10 - 10
result = 10 / 10
print(result)
/*
注意:Swift是安全嚴(yán)格的編程語言,會在編譯時候檢查是否溢出,但是只會檢查字面量而不會檢查變量,所以在Swift中一定要注意隱式溢出
可以檢測
var num1:UInt8 = 255 + 1;
無法檢測
var num1:UInt8 = 255
var num2:UInt8 = 250
var result = num1 + num2
println(result)
遇到這種問題可以利用溢出運算符解決該問題:http://www.yiibai.com/swift/overflow_operators.html
&+ &- &* &/ &%
*/
/*
取模 %
OC:只能對整數(shù)取模
NSLog(@"%tu", 10 % 3);
Swift: 支持小數(shù)取模
*/
print(10 % 3.5)
/*
自增自減
*/
var number = 10
number++
print(number)
number--
print(number)
/*
賦值運算
= += -= /= *= %=
*/
var num1 = 10
num1 = 20
num1 += 10
num1 -= 10
num1 /= 10
num1 *= 10
num1 %= 5
print(num1)
/*
基本用法和OC一樣,唯一要注意的是表達(dá)式的值
OC:表達(dá)式的結(jié)合方向是從左至右,整個表達(dá)式的值整體的值等于最后一個變量的值,簡而言之就是連續(xù)賦值
Swift: 不允許連續(xù)賦值, Swift中的整個表達(dá)式是沒有值的. 主要是為了避免 if (c == 9) 這種情況誤寫為 if (c = 9) , c = 9是一個表達(dá)式, 表達(dá)式是沒有值的, 所以在Swift中if (c = 9)不成立
var num2:Int
var num3:Int
num3 = num2 = 10
*/
/*
關(guān)系運算符,得出的值是Bool值,基本用法和OC一樣
> < >= <= == != ?:
*/
var result1:Bool = 250 > 100
var result2 = 250 > 100 ? 250 : 100
print(result2)
/*
邏輯運算符,基本用法和OC一樣,唯一要注意的是Swift中的邏輯運算符只能操作Bool類型數(shù)據(jù),而OC可以操作×××(非0即真)
! && ||
*/
var open = false
if !open
{
print("打開")
}
var age = 20
var height = 180
var wage = 30000
if (age > 25 && age < 40 && height > 175) || wage > 20000
{
print("約")
}
/*
區(qū)間
閉區(qū)間: 包含區(qū)間內(nèi)所有值 a...b 例如: 1...5
半閉區(qū)間: 包含頭不包含尾 a..
注意: 1.Swift剛出來時的寫法是 a..b
2.區(qū)間只能用于整數(shù),寫小數(shù)會有問題
應(yīng)用場景:遍歷,數(shù)組等
*/
for i in 1...5
{
print(i)
}
for i in 1..<5
{
print(i)
}