OPERATÖR SONUÇ
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
% Mod
++ Artırma
+= Toplama Ataması
-= Çıkarma Ataması
*= Çarpma Ataması
/= Bölme Ataması
%= Mod Ataması
-- Eksiltme
**NOT** : Aritmetik operatörleri "boolean" tipleri üzerinde kullanamayız.Ancak int tipinin bir alt kümesi olan "char" tipi üzerinde kullanabiliriz.Kodları çalıştırmak istiyorsak bu kurala dikkat etmemiz gerekir.Ben kodlamada bu hatayı yaşamıştım :)..
Aritmetik operatör tiplerine baktıktan sonra şimdide bu tiplerin kodlamada nasıl kullanıldığına bakalım.Bu kodumuzda farklı olarak negatifine değiştirme kodu görelim.
![]() |
--ARİTMETİK OPERATÖR KULLANIMI İLE İŞLEMLER-- |
int negX= -X kodu ile yaptık bu kod tanımadığımız sayıları negatifine çevirir. Y sayısı içinde aynı durum geçerlidir.Şimdi aşağıda kodun çalıştıktan sonra ekran görüntüsüne bakalım.
![]() |
--ÜSTTEKİ KODUN EKRAN ÇIKTISI-- |
Bu operatörler üstteki tabloda gösterdiğimiz "++" ve "--" operatörüdür. Sayının değerini 1 artırıp, 1 azaltmaya yarar.Bu işlemler işlemci tarafından desteklendiği için çok daha hızlı çalışır.Bu operatörlerin sağda yada solda olmaları tek başına kullanıldıklarında farketmez.Ancak bir ifade parçası içinde oldukları zaman değer değiştirebilirler.Şimdi bu işlemi örnek bir kod üzerinde
inceleyelim:
![]() |
--ARTIRMA/AZALTMA-- |
Şimdide kodlamalarda çok kullanılan anlaşılması karmaşık olan farklı bir atama tipini ele alalım.
![]() |
--ARTIRMA/AZALTMA OPERATÖRÜNE YENİ DEĞERE GÖNDERME-- |
int sayi3 = sayi++; ==>>Bu kodda sayi3 olarak yeni değişken tanımlamış ve bu değişkene değer ataması yapılırken ilk olarak üstteki sayi1 in değeri alınmış daha sonra bir artırılmıştır.
int sayi4 = ++sayi2; ==>>Bu kodda sayi4 olarak yeni değişken tanımlanmış ve bu değişkene değer ataması yaoılırken ilk olarak sayi2 nin değeri bir artırılmış sonra, değişkene atama yapılmıştır.
**NOT** :Üstte kırmızı olarak yazılan 2 ifade arasındaki fark çok önemlidir. Önceden bildiğimiz üzere kodlar yukarıdan aşağı ve soldan sağa çalışır. Yani bu kodda bilgisayar ilk olarak sayi1 ve sayi2 değerlerini okuyacak sonra alta inecek sayi3 diye bir değişken görüp bunun içine ilk olarak sayi1 in değerini atayacaktır ve ekrana sayi3 değeri olarak 7 yazdıracaktır.(Artırma işlemini içine değer ataması yaptıktan sonra gerçekleştirecektir.)Daha sonra bir alt satıra inecek burda sayi4 adında bir değişken görecek ve bunun değerini doldururken ilk gördüğü kod "++" olaraktır yani ilk olarak sayi2 değerini bir artırıp sonra değişkenin değerini atayacaktır. Yani sayi4 değeri 8 olacaktır.
ARİTMETİK ATAMA OPERATÖRÜ
Javada 5 tane aritmetik atama operatörü vardır. Bunlar: +=(toplayarak ata) -=(çıkartarak ata)
*=(çarparak ata) %=(bölerek ata) operetörleridir. Bunlar işlemlerin tek seferde yapılmasını sağlar.
Örnek bir kodlamada görecek olursak :
![]() |
--ARİTMETİK OPERATÖRLER-- |
demek a sayısını b ile topla çıkan bu toplamı tekrar a sayısına ata demektir. Normalde bu ifade 2 satır kodla da yapılabilir program yine çalışır. Fakat bizler kolaylık olsun diye bu ifadeleri kullanırız.Bölme,çarpma,çıkarma işlemlerindede mantık böyledir sadece atama operatörü değişir.
İLİŞKİSEL ATAMA OPERATÖRLERİ :
Programlarda genel olarak 6 tane ilişkisel atama operatörü kulanacağız. Bunlar aşağıdaki tabloda gösterildiği gibidir.
== eşittir
< küçüktür
> büyüktür
<= küçük eşittir
>= büyük eşittir
!= eşit değildir
| | veya
&& ve
İlişkisel operatörler genel olarak programlarda "ıf-else if" koşul yapıları içinde kullanılır. Aşağıda bu koşul yapıları içinde kullanılan ilişkisel operatörleri kod üzerinde inceleyelim. Bu örnekte şimdiye kadar öğrendiğimiz birçok şeyi kullanalım ve bir arada görelim :
![]() |
--ÜÇGEN TÜRÜNÜ BİZE VEREN PROGRAM-- |
En başta bizden belli değerler girmemizi isteyen bir program ar ilk aklımıza gelmesi gereken şey Scanner sınıfının programa eklenecek olmasıdır ve bunu import java.util.Scanner; kodu ile yaparız.
Daha sonra scanner tara nesnesi için bellekte belirli bir yer oluşturmamı gerekir. Bu işlemide
Scanner tara = new Scanner(System.in); kodu ile sağlarız. Şimdi sıra üçgenimizin kenar uzunluklarını vermeye geldi her bir kenar uzunluğu tamsayı cinsinden olacağı için "int" değişkeninde 3 tane x,y,z tanımlarız. Bu sayıları 0 a eşitlememizin amacı bir başlangıç değeri belirtmektir. Aksi takdirde derleyici uyarı verir ve başlangıç değeri girmediğimizi söyler.Bu işlemi birçok örnekte yapacağız.
Şimdi sıra geldi kullnıcıdan x y z üçgen kenar uzunluklarını istemeye bunları geçmişte de bildiğimiz üzere System.out.println("y kenarını giriniz :"); kodu ile yaparız her bir kenarı aldıktan sonra her bir kenar için y = tara.nextInt(); kodlarını kullanarak sayıları int değer olarak aktarması gerektiğini söyleriz.
Şimdi sayıları girdik bilgisayara bunları kayıt etti sıra geldi üçgenin türünü belirlemeye : bunu nasıl yapabiliriz ? hepimizin bildiği gibi kenar sayıları birbirine eşit ise eşkenar üçgen, 2 kenarı birbirine eşit ise ikizkenar üçgen ve tüm kenarları birbirinden farklı ise çeşitkenar üçgen deriz.Görüldüğü gibi durumu türkçe olarak ifade ederken bile ise ifadesini kullandık yani javadaki karşılığı "if-else if-else"
Şimdi kullanacağımız koşulda belli sıra geldi kenarları kıyaslamaya bunuda "ıf else-if" blokları içinde ilişkisel operatörler kullanarak yaparız.
if(x==y && y==z ){
System.out.println("üçgen eşkenar üçgendir");
}
else if(x!=y && y!=z && x!=z){
System.out.println("üçgen çeşitkenar üçgendir");
}
else
System.out.println(" üçgen ikizkenar üçgendir");
}
Bu kod bloğu bize ilişkisel operatörlerin kullanımını gösterir. Örneğin : ilk bloğa bakacak olursak if koşulu içinde " x==y && y==z" derken aslında "x=y=z" demek istemiştir yani üçgenin eşkenar üçgen olduğunu demek isteriz ve bunuda if bloğu içinde yaparız.(x=y ve y=z ise)
İkinci kod bloğunda else if koşul içinde kenarların birbirine eşit olmadığını belirtiriz.(x eşit değil y ve y eşit değiz z ise) üçgenimiz çeşitkenar üçgendir.
Üçüncü kod bloğu ise else ifadesini gösterir, koşul programlarında else ifadesinin yanı boş bırakılır. Çünkü yukarıdaki durumlar gerçekleşmediği zaman geriye tek durum kalmıştır oda else in gövdesinde belirtilir. Bu programda geriye kalan tek durum üçgenin ikizkenar oluşudur.
**NOT**: if bloğu içerisinde atama yaparken iki tane eşittir kullanırız (==) aksi takdirde kodumuz çalışmaz. Bu hatada benim yaşadığım hatalardan birisi :)..
MANTIKSAL OPERATÖRLER
Bu operatörler "boolean" tip değişkeninde tutulur. Kodlamada belli ifadelerle gösterilir. Bunları yazacak olursak :
&&(AND operatörü) : Bu operatörün sağında ve solunda yazan ifadeler true olursa, sonuçta true olur. Onun dışında tüm durumlarda sonuç false olur.
| | (OR OPERATÖRÜ) : Bu operatörün sağındaki ve solunda yazan ifadeler false olursa sonuç false olur onun dışında sonuçların hepsi true olur.
^ (XOR OPERATÖRÜ) : Bu operatörün sağında ve solunda yazan ifadeler aynı ise(her ikiside true yada her ikiside false) sonuç false olur.İfadeler farklı olduğu zaman(biri false biri true ) sonuç true olur.
!(NOT OPERATÖRÜ) : Bu ifade matematikteki değilini almakla aynıdır. Yani kendinden sonraki gelen ifadenin ters halini alır. True ise false, false ise true dönüşümü yapar.
Şimdi bu öğrendiğimiz operatörleri bir örnek kodla anlamaya çalışalım.
![]() |
--MANTIKSAL OPERATÖRLER-- |
Hiç yorum yok:
Yorum Gönder