Swift 5.3 İle Operatörler Kavramı

Operatörler

Temel Atama Örneği

Gördüğümüz gibi 2 adet değişkenim değer atadım.Sonra da var olarak tanımlanan sayi2’ye , let olarak tanımlanan sabit değişkenimin değerini atadım.Şuan sayi2 bin value’su 10 oldu.

Tam tersini yapamayız ! Çünkü let olarak tanımlanan bir sabit hep sabit kalmaya mahkumdur.

Aynı anda birden fazla sabit veya değişkene ayrılabilir:

Aritmetik operatörler

Swift, tüm sayı türleri için dört standart aritmetik işleci destekler :

Toplama operatörü de Stringbirleştirme için desteklenir korkmayın bizde her yol var 🙂

Mod alma var mı ? Oooo bak şimdi.

Negatif Pozitif Mantığı

Sayısal bir değerin işareti -tekli eksi operatörü olarak bilinen önek kullanılarak değiştirilebilir :

 Unary Plus Operatörü

+) basitçe çalışır değeri herhangi bir değişiklik olmaksızın, döner:

 Unary Plus Operatörü

+) basitçe çalışır değeri herhangi bir değişiklik olmaksızın, döner:

Compound Assignment Operators

Evet klasik olarak bir değer arttırma işlemi gibi sanki 🙂

Karşılaştırma Operatörleri

  • Eşittir ( )a == b
  • ( ) Eşit değila != b
  • Büyüktür ( )a > b
  • Küçüktür ( )a < b
  • ( ) Değerinden büyük veya ona eşita >= b
  • Küçüktür veya eşittir ( )a <= b

C dilinden kopya çeke çeke adamlar bu kadar yapabilmiş 😀

Tuples Karşılaştırma Mevcut

Burada gördüğünüz gibi karşılaştırılabilir veriye bakar şuan int tipine bakar.True değerlerini görüyoruz.

Tuples belirli bir operatör ile karşılaştırılabilir, ancak operatör ilgili tuples’ların her bir değerine uygulanabilirse. Örneğin, aşağıdaki kodda olduğu gibi, türe iki dizilerini karşılaştırmak için hem de ve değerler kullanılarak karşılaştırılabilir operatör. Aksine, iki tür tuple operatörle karşılaştırılamaz çünkü operatör değerlere uygulanamaz .

Not:Swift standart kitaplığı, yedi öğeden az elemanı olan tupler için tuple karşılaştırma operatörleri içerir. 
Tuples’ı yedi veya daha fazla öğeyle karşılaştırmak için karşılaştırma işleçlerini kendiniz uygulamalısınız.

Ternary Conditional Operator (3 Koşullu Operatör)

Java’dan tanıdık gelmiştir 🙂

Üçlü koşullu operatörü şeklini alır üç parça, özel operatördür . İki ifadeden birini doğru veya yanlış olup olmadığına göre değerlendirmek için bir kısayoldur . Eğer doğruysa, o değerlendirir ve değerini verir; aksi takdirde değerini değerlendirir ve döndürür.

question ? answer1 : answer2questionquestionanswer1answer2

Böyle yapmaktansa Ternary kullanıyoruz.Ternary Operatörü ? simgesi çalışır.

Burada olayımız şu.Sonuc isimli değişkenime bir değer atanacak .Koşulum (sayı == num) eğer bu koşuldan true dönerse yani sayılar eşitse ilk parametre olan “Sayalar Eşittir” value’su sonuc isimli değişkenime atanacak.Eğer eşit değilse false bir değer dönere 2. parametrem olan “Eşit Değildir” value’su sonuç isimli değişkene atanacak.

Diğer Örnek:

Puan isimli bir değerim var bir de true sahip deger isimli değişkenim.

sonuc isimli bir değişkenime puan’ın value değerini atıcam ama bir koşul var.Puanım 50 idi.Burda bir toplama işlemi yapacak ama deger isimli boolen value’su true şeklinde döndüğü için işe value değerimi alarak yani 10 değerini alarak işlem yaptı ve 60 sonucunu buldu.Eğer deger isimli boolen’dan false dönseydi 50+20 yapacak ve 70 değerini ekrana basacaktı.

Nil-Coalescing Operator

Nil-birleştirici operatör ( ), optinal bir unwraps bir değer içermesi, ya da bir varsayılan değeri geri gönderir ise , eğer bir . İfade her zaman isteğe bağlı türdedir. İfade , içinde saklanan türle eşleşmelidir . Nil-Coalescing Operator “??” simgesi ile yapıyoruz.Aşağıda ki işlemin kısaltmasını Nil-Coalescing Operator ile yapabiliyoruz.

Örnek:

Yani userName boş olduğu sürece ona default bir deger atıyoruz gibi düşünün.Eğer optinal değişkenine bir değer atanırsada o değeri görürüz.

Range Operators (Aralık Belirtmek)

Daha çok döngüler için kullanımı tasarlanan bir operatör aslında.Aralik belirtmek “…” simgesini kullanırım.Bu örnekte 1 ile 5 arasında ki sayıların çarpımını bulduk.Dikkat ettiyseniz 1 ve 5 dahildir.

Half-Open Range Operator (Yarı Açıklık)

Yine aynı örnek üzerinde gidelim.Bu sefer “..<” simgesi ile şimdi mesela 5 ten küçük olanları çarptım.

One-Sided Ranges (Tek Taraflı Aralık)

Başka bir alternatif daha var.Örneğin, bir dizinin dizin 2’den dizinin sonuna kadar tüm öğelerini içeren bir aralık. Bu gibi durumlarda, değeri aralık operatörünün bir tarafından atlayabilirsiniz. Bu tür aralığa tek taraflı aralık denir, çünkü işleç yalnızca bir tarafta bir değere sahiptir. Örneğin:

Mantıksal operatörler

Mantıksal operatörler değiştirmek veya Boole mantığı değerlerini birleştirmek trueve false. Swift, C tabanlı dillerde bulunan üç standart mantıksal operatörü destekler:

  • Mantıksal DEĞİL ( !a)
  • Mantıksal AND ( )a && b
  • Mantıksal VEYA ( )a || b

Mantıksal DEĞİL İşleci

Mantıksal NOT operatörü ( !aböylece) bir Boole değeri tersine çevirir 

ifade “girişe izin verilmiyorsa” olarak okunabilir. Sonraki satır yalnızca “izin verilmeyen giriş” doğruysa yürütülür.

Mantıksal VE Operatör

Bu örnek iki Booldeğeri dikkate alır ve yalnızca her iki değer de ise erişime izin verir true:

Mantıksal VEYA Operatör

Mantıksal Operatörleri Birleştirme

Daha uzun bileşik ifadeler oluşturmak için birden çok mantıksal işleç birleştirebilirsiniz:

Explicit Parentheses

Karmaşık bir ifadenin amacının daha kolay okunmasını sağlamak için, tam olarak ihtiyaç duyulmadığında parantez eklemek bazen yararlı olabilir. Yukarıdaki kapı erişim örneğinde, amacını açık hale getirmek için bileşik ifadenin ilk kısmının etrafına parantez eklemek yararlıdır

Parantezler, ilk iki değerin genel mantıkta ayrı bir olası durumun parçası olarak kabul edildiğini açıkça ortaya koymaktadır. Bileşik ifadenin çıktısı değişmez, ancak genel niyet okuyucu için daha açıktır. Okunabilirlik her zaman kısalık yerine tercih edilir; niyetlerinizi açıklığa kavuşturmak için parantez kullanın.

Leave a Reply

*