Operatorler
Aritmetik Operatörler
Her zaman kullandığımız bu operatörler + , - , * , / , % 'dir.Değişkenlerin çeşitli aritmetik operatörlerle kullanımına bir örnek verelim.
1. var i=10;
2. var j=11;
3. var k=12;
4. var m,n;
5. m=i*j+k;
6. n=i*(j+k);
Şimdi örneğimizi inceleyelim:
İlk üç satırda değişkenlerimizi hem tanımlayıp hem de değer atadık. Dördüncü satırda ise m ve n değişkenlerini tanımlayıp değer atamdık. Diğer satırlarda ise m ve n değişkenlerinden istenen işlemleri tanımladık. Buna göre son iki satırın sonuçları farklıdır. Çünkü parantezlerin işlem önceliği vardır.
Beşinci satırın cevabı (10*11)+12 = 122 şeklinde olacaktır. Son satırda ise sonuç 10*(11+12) = 230 olacaktır. Diğer bir işlem operatörü olan % 'nin yaptığı işlemi şu şekilde anlatabiliriz.% operatörü % işaretinin solundaki değişkeni sağındaki değişkene böler ve kalanı verir. Örnek olarak;
-= : *= : /= : %= : ++ : --
Burada c değişkenin değeri 100/9'un kalanı 1'dir. Yani c değişkeninin değeri 1 olacaktır. Diğer -(eksi) ve / (bölme) operatörlerinin işlemleri kendilerine atanan çıkartma ve bölme işlemidir.Bu operatörlerin kısa kullanımı içinde Javascript bize kolaylık sağlar. Bu operatörleri sıralamak istersek;
-= : *= : /= : %= : ++ : --
Bu operatörlerin kısa uzun şekilde yazılışları ise;
1. x+=y x=x+y
2. x-=y x=x-y
3. x*=y x=x*y
4. x/=y x=x/y
5. x%=y x=x%y
6. x++ x=x+1
7. x-- x=x-1
8.
şeklindedir.
Bu operatörlerin nasıl işlem yaptığını bir örnekte görelim.Şimdi her zamanki gibi işlem satırlarının cevaplarını birlikte bulalım.
x=10; y=20; z=30;
x++; // x in değeri 10 fakat ilk kullanıldığında 11 değerini alacak
x+=y; // x=11 + y=20 sonuc 31 çıkacak
z--; // z nin şimdiki değeri 30 ilk kullanımında 29 olacak
y*= z; // y=20 ile z=29 un çarpımı
x++ satırı x=x+1 işleminin yapılmasını söyler. Buna göre x değişkeni 11 değerini alır.İkinci satıra geldiğimizde x+=y satırı x=x+y işleminin yapılmasını söyler. Bir önceki satırdaki x'in değeri 11 idi. Böylelikle yeni x'in değeri 11+20=31 olacaktır. Diğer satırda z-- işlemi sonucunda z'nin değeri 29 olacaktır. Son satırda ise y=y*z işlemi ile y değişkeni 20*29= 380 değerini alacaktır.
Karşılaştırma Operatörleri
Bu operatörler değişkenlerin birbirleri ile karşılaştırılmak istendiğinde kullanılır.
Bu operatörler ise;
== operatörü iki değişkenin birbirine eşitliğini kontrol eder.
!= operatörü iki değişkenin birbirine eşit olmadığı durumlarda kullanılır.
< operatörü bilindiği üzere küçüktür operatörüdür. Soldaki değişkenin sağdakinde küçüklüğünü kontrol eder.
<= soldaki değişkenin sağdaki değişkene küçük eşitliğini kontrol eder.
> soldaki değişkenin sağdaki değişkene göre büyük olup olmadığını kontrol eder.
>= soldaki değişkenin sağdaki değişkene büyük eşitliğini kontrol eder.
Mantıksal Operatörler
Bu tip operatörler iki değişkene bağlı karşılaştırılmaların yapılmak istendiği durumlarda kullanılır.
Operatörler
&& , || , ! operatörleridir.
&& And (ve) operatörü iki değişkenin de değeri doğru olması istendiğinde kullanılır.
|| Or (veya) operatörü iki değişkenden en az birinin doğru olması durumu istediğinde kullanılır.
! Not (değil) operatörü değişkenin değeri doğru ise yanlış , yanlış ise doğru olması istendiği durumlarda kullanılır.
Özel karşılaştırma Operatörü
Bu operatör iki değişken arasında karşılaştırma yapmanın en sade ve kısa yoludur.
Operatörün kullanım biçimi :
değişken_1 [istenen karşılaştırma operatörü] değişken_2 ? değişken_3 : değişken_4
Bunu bir örnekle açıklayalım.
Değişkenleri var ile tanımladığımızı farz ediyorum. Buna göre ;
a < b ? c : d
Yukarıdaki satırda yapılması istenen işlem ;
a değişkeninin b değişkeninden küçük olup olmadığı karşılaştırılıyor. Buna göre cevap doğruysa işlemin sonucu c değişkeninin değeri değilse d değişkeni oluyor.
Şimdi tüm bu öğrendiklerimizi bir Javascript kodunda görelim. Bu bizim ilk Javascript kodumuz olacak.
Örnek :
1. <script Language="JavaScript 1.2">
2. <!--
3. var i=1; var j=2;
4. var k=3; var m=4;
5. var n=5; var
6. p=6; var q=7;
7. i=+j;
8. j++;
9. k--;
10. m=m+k;
11. n=*j;
12. i < j ? 3 : 1 ;
13. k >= n ? 0 : 1 ;
14. k=2 && j=5 ? p : q ;
15. i=2 || j=3 ? m : n ;
16. p!=2 ? k : 10 ;
17. -- >
18. </script>
19.
İlk yedi satırda değişkenlerimizi hem tanımladık hem de değer atadık. Böyle bir yazımı yapabileceğimizi değişkenleri anlatmaya başlarken söylemiştik.
**** İşlem satırlarına geçtiğimizde ise;
i+=j;
Bu işlem daha da önce gördüğümüz gibi bize i=i+j işlemini yapmamızı söyler. Buna göre i değişkeninin değeri 3 olacaktır. Hemen altındaki satırda bulunan j++ işlemi dolayısıyla da j değişkeni 3 değerini alacaktır. Diğer işlem satırında k--işlemi ile de k değişkeni 2 değerini alır. Bir diğer satırdaki m=m+k işlemi ile m(m=4) değişkeni k(k=2) değişkeni toplanarak 6 değerini alır. n=*j işlemi ile de n(n=5) değişkeni 3*5=15 değerini alacaktır.
Şimdi diğer karşılaştırma işlemlerine geçmeden önce değişkenlerimizin işlem sonrası aldığı değerleri yazalım.
i=3 , j=3 , k=2 , m=6 , n=15 , p=6 , q=7 ; i < j ? 3: 1 ;
Bu satırın 3 < 3 işleminin cevabı doğru ise 3 değilse 1 değeri alacağını görebiliyoruz. Tabi ki üç üçten küçük olmadığı için cevabımız 1 olacaktır.
k>=n ? 0 : 1 ;
Bu satırda ise 2>=15 işlemi gerçekleşir ki bunun cevabı da yanlıştır ve ikinci değer işlem satırının cevabıdır yani 1 dir.
Şimdiki karşılaştırma işlemimiz ise mantıksal operatörlerle ilgili. Buna göre;
k=2 && j=5 ? p : q ;
İşlem bize ne söylüyor ? K değişkeni ve j değişkeninin kesin olarak bir değere eşit olup olmadığını karşılaştırmamızı söylüyor. Bu iki değer de doğruysa çünkü &&(and) mantıksal operatörünün anlamı bu işlem doğrudur değilse yanlıştır. Buna göre k=2 'dir. Fakat buna karşılık j'nin değeri 5 değildir. Bu yüzden karşılaştırmanın cevabı yanlıştır. Dolayısıyla işlem q yani 7 değerini alır.
p!=2 ? k : 10 ;
İşlemde istenilen p değişkeninin değerinin ikiden farklı olması durumdur. Yani 6!=2 bunun anlamı doğrudur. Gerçektende 6=2 değildir. Bizde bu satırda bunu istiyorduk. O halde cevap doğrudur. Böylelikle işlem k yani 2 değerini alır.
Şimdi biz bu yaptıklarımızla sadece javascript'te bir şeyler hesap etmesini ve karşılaştırmasını söyledik. Tarayıcı da bu işlemleri yapar ve hafızasında tutar. Daha sonra öğreneceğimiz komutlarla bunları istersek tarayıcıya yazdırabilir. Başka bir yerde kullanılmasını söyleyebiliriz.
Kaynak Uğur KAHRAMAN