Swift: Integers (Tamsayılar),Floats-Doubles(Kesirli Sayılar),Tuples
Integer’lar kesirli bileşeni olmayan sayılardır. Ör: 42 , -23 . Integer’lar pozitif,sıfır veya negatif
sayılardan oluşabilir. Swift 8,16,32 ve 64 bit formunda integer’ları desteklektedir. Swift ‘te de C
benzeri bir integer adlandırma mevcuttur. Ör: Uint8,Int32
Integer Sınırları
Her integer türünün ancak minimum ve maksimum değerlerine ulaşabilirsiniz.
1.
let minValue = UInt8.min // minValue is equal to 0, and is of type UInt8
2.
let maxValue = UInt8.max // maxValue is equal to 255, and is of type UInt8


32-bit ‘lik bir platformda Int, Int32 ile aynı boyuttadır.
64-bit ‘lik bir platformda Int, Int64 ile aynı boyuttadır.
ye
.
Uınt
or
g
Çoğu durumda, integer boyutunu kodda belirtmeniz gerekmez. Swift, ek olarak “Int” olarak
adlandırılan bir integer tipi sunar. Bu türün boyutları mevcut platformdaki boyutlarıyla eşittir.
32-bit ‘lik bir platformda UInt, UInt32 ile aynı boyuttadır.
64-bit ‘lik bir platformda UInt, UInt64 ile aynı boyuttadır.
ift
Floating-Point Numbers (Kesirli Sayılar)
tu


rk
i
Swift, ayrıca UInt integer tipini de sunar. Bu türün boyutları mevcut platformdaki boyutlarıyla eşittir.
.s
w
w

Double: 64-bit’lik kesirli sayıları temsil eder. Elde edeceğiniz kesirli sayı çok büyük ise doubl e
kullanmayı tercih edebilirsiniz.
Float: 32-bit’lik kesirli sayıları temsil eder. Double ‘a ihtiyacınız olmadığı sürece float ‘ı
kullanabilirsiniz.
w

w
Swift’te kesirli sayıları (floating-point) “double” ya da “float” olarak tanımlayabilirsiniz.
Sayı Sistemleri
Sayı sistemleri aşağıdaki gibi yazılmaktadır:




Ondalık sayılar herhangi bir önek olmadan yazılır.
İkilik sayılar, 0b öneki ile yazılmaktadırlar.
Sekizlik sayılar, 0o öneki ile yazılmaktadırlar.
Onaltılık sayılar, 0x öneki ile yazılmaktadırlar.
Aşağıdaki örnekte 17 sayısının farklı sayı sistemlerinde nasıl tanımladığını görebilirsiniz.
1.
let decimalInteger = 17
2.
let binaryInteger = 0b10001 // 17 in binary notation
3.
let octalInteger = 0o21 // 17 in octal notation
4.
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
www.swiftturkiye.org
Swift: Integers (Tamsayılar),Floats-Doubles(Kesirli Sayılar),Tuples
Integer (Tamsayı) Dönüşümü
Her integer tipinde belirli aralıkları barındırır. Örneğin Int8 -128 ile 127 arasındaki sayıları
barındırabilirken, UInt8 negatif değer barındırmadığından 0 ile 255 arasındaki sayılardan oluşabilir.
Eğer bunlara aykırı bir durum yaşanırsa derlemeden sonra hata mesajı karşınıza çıkacaktır.
1.
let cannotBeNegative: UInt8 = -1
2.
// UInt8 negatif değer tutamaz, bu yüzden hata mesajı çıkacaktır.
3.
let tooBig: Int8 = Int8.max + 1
4.
// Int8 maksimum değerinden fazlasını alamaz
5.
// bu yüzden hata mesajı gözükecektir.
or
g
Aynı türde olmayan değerler birbirleriyle işlem göremeyeğinden dönüştürme işlemi yapılması
gerekmetedir. Aşağıda örnekte yer alan twoThousand isimli bir UInt16 değişkeni ile türü UInt8
ye
.
olan one değişkeni ile toplamak için ilk önce one değişkenini UInt16() fonksiyonu ile türünü UInt16
„ya dönüştürülmesi gerekmektedir.
let twoThousand: UInt16 = 2_000
2.
let one: UInt8 = 1
3.
let twoThousandAndOne = twoThousand + UInt16(one)
tu
rk
i
1.
ift
Integer (tamsayı) ve Floating-point (kesirli sayı) Dönüşümü
Bir integer ve float ile işlem yapabilmeniz için dönüşüm işlemi yapmanız gerekmektedir.
w
Aşağıdaki örnekte olduğu gibi three değişkeni bir tamsayı iken pointOneFourOneFiveNine
.s
değişkeni double ya da float dır. İkisini toplatıp pi değişkenini elde etmemiz için integer olan three
w
değişkenini double() kullanarak double tipine dönüştürmemiz gerekmektedir.
let three = 3
2.
let pointOneFourOneFiveNine = 0.14159
3.
let pi = Double(three) + pointOneFourOneFiveNine
4.
// pi equals 3.14159, and is inferred to be of type Double
w
w
1.
Bu dönüşüm tamamlandıktan sonra elde ettiğimiz pi değişkenini integer‟a Int() ile dönüştürebiliriz.
Int() ile yapacağınız dönüşümlerde virgül (,) „den sonrası gidecektir.
1.
let integerPi = Int(pi)
Tip İsimlendirme (Type Aliases)
Type Aliases ile Swift‟te yer alan mevcut değişken ya da sabit tiplerini farklı şekilde
adlandırabilirsiniz. typealias komutunu kullanarak isimlendirmeyi gerçekleştirebilirsiniz.
1. typealias AudioSample = UInt16
www.swiftturkiye.org
Swift: Integers (Tamsayılar),Floats-Doubles(Kesirli Sayılar),Tuples
Boolean
Swift‟te Boolean tipi olarak Bool kullanılmaktadır. Bool iki tip değer tutabilir bunlar: true ya da false
olarak tutulabilir.
Tuples
Tuples, birden fazla değeri tek bir bileşik değer içerisinde tutabilir. Örneğin (404,”Not Found”) bir
tuble‟dır ve http durum kodunu temsil eder. Bu kod aranılan sayfa bulunamadığında “404 Not
Found” mesajını gösterir.
1.
let http404Error = (404, "Not Found")
2.
// http404Error is of type (Int, String), and equals (404, "Not Found")
(404,”Not Found”) tuple grubu hem Int hem de String içermektedir. Bunlardan biri numaradır diğeri de
insanların tanımlayabileceği bir metindir.
or
g
Tuple‟ları birbirlerinden farklı permütasyon tiplerinde üretebilirsiniz. Tuple‟ların değerlerini index
numaraları ile çağırabilirsiniz.
println("The status code is \(http404Error.0)")
2.
// prints "The status code is 404"
3.
println("The status message is \(http404Error.1)")
4.
// prints "The status message is Not Found"
rk
i
ye
.
1.
tu
Tuple oluştururken her elemente isim atayıp oluşturabilirsiniz.
ift
let http200Status = (statusCode: 200, description: "OK")
w
Ve daha sonra oluşturduğunuz tuple elementlerini kod içerisinde çağırabilirsiniz.
println("The status code is \(http200Status.statusCode)")
2.
// prints "The status code is 200"
3.
println("The status message is \(http200Status.description)")
4.
// prints "The status message is OK"
w
w
w
.s
1.
www.swiftturkiye.org
Download

www.swiftturkiye.org