ETİKETLER
ios
Dizilerin Kopyasının Oluşturulması
Bir dizinin bir kopyasını çok kısa bir yoldan oluşturmak mümkündür. Basit bir atama işlemi dizinin bir kopyasını oluşturacaktır.
ÖRNEK:
var x:[Int]=[12,23,3,87,45,9,11,34]
var y=x//x’in kopyası y oluşturuluyor
print("x DİZİSİ....\(x)")
print("y DİZİSİ....\(y)")
var z=y//y’nin kopyası z oluşturuluyor
print("z DİZİSİ....\(z)")
PROGRAMIN ÇIKTISI
x DİZİSİ....[12, 23, 3, 87, 45, 9, 11, 34]
y DİZİSİ....[12, 23, 3, 87, 45, 9, 11, 34]
z DİZİSİ....[12, 23, 3, 87, 45, 9, 11, 34]
Kare Matris Swift Programı
BİR KARE MATRİSİN ESAS KÖŞEGEN ELEMANLARININ TOPLAMINI VE DİĞER KÖŞEGEN ELEMANLARININ ÇARPIMINI BULAN SWIFT PROGRAMI
var t: [[Int]] = [
[3, 5, 7, 8],
[2 ,4 ,5 ,6],
[3 ,6 ,1, 9],
[1 ,3 ,6 ,8]
]
var s: Int = 0
var p: Int = 1
for i in 0...3 {
for j in 0...3 {
print("\(t[i][j])....", terminator: "")
}
print()
}
for i in 0...3 {
s = s + t[i][i]
p = p * t[i][3-i]
}
print()
print("ESAS KÖŞEGEN ELEMANLARI TOPLAMI.....\(s)")
print("DİĞER KÖŞEGEN ELEMANLARI ÇARPIMI.....\(p)")
PROGRAMIN ÇIKTISI
Bir Tablonun Satır ve Sütun Toplamları ve Genel Toplamı
Pratikteki pek çok uygulamada bir tablonun satır toplamları sütun toplamları ve genel toplamı istenebilir. Örneğin Excel’de sum fonksiyonu ile bunu kolayca gerçekleştirebilirsiniz. Oysa burada vereceğimiz Swift kodu, tabiri caizse Excel’deki sum fonksiyonunun arka cephesi olacaktır.
ÖRNEK PROGRAM: TABLODA TOPLAMLAR
Dizilere İlk Değer Atamak için Alternatif bir Yol:count ve repeatedValue Metotları
Double türde bir dizinin başlangıçta 10 elemanlı olacağını ve her elemanının da 1.5 olacağını planlamış olalım. Bunu gerçekleştirmenin en pratik yolu, count ve repeatedValue(Tekrarlanan Değer) metotlarını kullanmaktır.
ÖRNEK:
var a = [Double](repeating:1.5, count:10)
print("a...DİZİSİ..\(a)")
print("DİZİDEKİ ELEMAN SAYISI=\(a.count)")
Programın çıktısı ise aşağıdadır:
a...DİZİSİ..[1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5]
DİZİDEKİ ELEMAN SAYISI=10
Dizinin Elemanlarını Tarama
for in komutu ile dizi içindeki tüm elemanlara sıra ile erişilebilir.
ÖRNEK:
Aşağıdaki örnek program içinde dizi elemanları for in komutu ile listelenmiştir:
var a: [Int] = [12, 22, 67, 65, 89, 111]
print("a...DİZİSİ..\(a)")
print("a DİZİSİ")
for i in a {
print(i)
}
PROGRAMIN ÇIKTISI:
a...DİZİSİ..[12, 22, 67, 65, 89, 111]
a DİZİSİ
12
22
67
65
89
111
COUNT METODU
Dizi İçine Aralık (Range) İfadesi ile Atama Yapma
PROGRAMIN ÇIKTISI:
Swift’in diğer ilginç bir özelliği de, dizi içine (…) şeklindeki aralık ifadesi yardımı ile atama yapılabilmesidir.
ÖRNEK:
Aşağıdaki örnekte a dizisi oluşturulduktan sonra, indisleri 2, 3, 4 ve 5 olan elemanların yerine, 23, -9, -7, 45, 34, 8 sayıları yerleştirilmektedir:
Üçlü Koşul Operatörü
Bu operator aşağıdaki şemaya göre çalışır:
koşul ? true ise yapılacak iş : false ise yapılacak iş
ÖRNEK:
var x:Int
x = -4
x>=0 ? print("\(x) POZİTİF YA DA SIFIRDIR..."):print("\(x) NEGATİFTİR...")
PROGRAMIN ÇIKTISI
-4 NEGATİFTİR...
TİP CASTING OPERATÖRLERİ
Bunlar iki tanedir : as ve is
Aşağıdaki biçimlerde kullanılırlar:
Ifade as tip
ifade as? tip
ifade is tip
ÖRNEK:
Atama (Assignment) Operatörü
Atama operatörünün işlevi diğer dillerden oldukça farklıdır. Genel atama ifadesi,
Ifade=Değer
şeklindedir. Burada ifade bir tuple türünde ise değer de tuple türünde olmalıdır.
ÖRNEK:
var x:String
var z:Int
var m:String
var k:Int
(x , (z,m,k)) = ("fener", (13,"gs",78))
print("x=\(x)")
print("z=\(z)")
print("m=\(m)")
print("k=\(k)")
PROGRAMIN ÇIKTISI
x=fener
z=13
m=gs
k=78
“_” SEMBOLÜ
İkili İfadeler
Bunların genel biçimi,
Operand1 Operatör Operand2
şeklindedir. Örneğin, çarpma ifadesi, a*b şeklinde bu kalıba uymaktadır.
Swift’te ikili ifadeler diğer dillerde de olduğu gibi çeşitli sınıflara ayrılırlar:
I. Üstel ifadeler (Exponentiative)
a) << Bit düzeyinde sola öteleme
b) >> Bit düzeyinde saga öteleme
II. Çarpımsal (Multiplicative) ifadeler
a) * çarpma
b) / bölme
c) % kalan
d) &* Overflow ihmal edilerek çarpma
Üç Boyutlu Dizi Tanımlama
ÖRNEK:
var ucBoyut: [[[Int]]] = [[[11, 3], [43, 6],[5,8]], [[45, 96], [17, 78]]]
print(ucBoyut)
Programın çıktısı ise aşağıdadır:
[[[11, 3], [43, 6], [5, 8]], [[45, 96], [17, 78]]]
OPSİYONEL TİP (OPTIONAL TYPE)
Opsiyonel tipi tanımlamak için de 2 farklı yol vardır:
var DegAd:Int?
var DegAd:Optional<Int>
Her ikisinde de DegAd adlı değişken opsiyonel türde tanımlanmıştır.