Nesne Yönelimli Programlama
Hazırlayan: [Link] Akcayol
Gazi Üniversitesi
Bilgisayar Mühendisliği Bölümü
Not: Bu dersin sunumları, “Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya
Yayıncılık, 2016” kitabı kullanılarak hazırlanmıştır.
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
1
Atama İşlemleri
Java programlama dilinde veri türleri ve nesneler
üzerinde işlem yapmak için operatörler kullanılır.
Operatörlerin büyük bölümü hemen hemen tüm
programlama dillerinde benzerdir.
En yaygın kullanılan operatörler toplama (+) ve çıkartma
(-) operatörleridir.
Aynı ifade içinde yer alan operatörlerin kendi aralarında
öncelik sıralaması vardır.
Değer atamalarında sağ taraftaki değer sol taraftaki
değişkene atanır.
Atama İşlemleri
Temel türlerde atama
Atama işlemi, temel (primitive) türler için basittir.
Temel türdeki değişkeni diğerine atadığımızda sadece
içerikler değişir.
2
Atama İşlemleri
Nesneler ve atamalar
Nesneler için atama işlemleri, temel türlere göre karmaşıktır.
Nesneleri yönetmek için referans (adres) kullanılır.
Nesnelerde atama işleminde referansın gösterdiği
hedefte (adreste) değişiklik olur.
Atama İşlemleri
Nesneler ve atamalar
3
Atama İşlemleri
Nesneler ve atamalar
Nesneler arasında atama yerine, nesnelerin değişkenleri
arasında atama yapılırsa referans farklı olur.
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
4
Yordamların Çağrılması
Yordamlar parametre kabul ederler ve bu parametreleri
alarak işlemler gerçekleştirir.
Atama İşlemleri
Yordam çağırmaları temel türler için daha kolaydır.
10
5
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
Java Operatörleri
Operatörler, programlama dillerindeki işlem yapma
yeteneğine sahip simgelerdir.
Bir işlem bir operatör ile veya bir grup operatörün bir
araya getirilmesiyle yapılabilir.
Bir işlem için yordam (method) yazılması da
gerekebilir.
Java dili oldukça zengin ve esnek operatör kümesine sahiptir:
Aritmetik operatörler
İlişkisel operatörler
Mantıksal operatörler
Bir düzeyinde (bitwise) operatörler
Atama operatörleri
String operatörü
12
6
Java Operatörleri
Java dilinde operatörler, ön ek, son ek veya ara ek olarak
kullanılabilir.
13
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
7
Aritmetik Operatörler
Java dili kayan-noktalı (floating-point) sayılar ve tamsayılar
(integer) için aritmetik işlemleri destekleyen operatörlere
sahiptir.
Bu işlemler, toplama operatörü (+), çıkartma operatörü (-),
çarpma operatörü (*), bölme operatörü (/) ve mod ile
bölme (%) operatörüdür.
15
Aritmetik Operatörler
Örnek
16
8
Aritmetik Operatörler
Örnek
17
Aritmetik Operatörler
Aritmetik operatörler işlem sonucu değiştirecek
dönüştürme yaparlar.
Toplama ve çıkarma operatörleri de tür dönüştürme yapar.
18
9
Aritmetik Operatörler
Örnek
19
Aritmetik Operatörler
Örnek
Dönüştürme işlemlerinde değer kaybı olabilir.
20
10
Aritmetik Operatörler
Bir artırma ve azaltma
Bu operatörler değişkenin içeriğini bir arttırmak veya
azaltmak için kullanılır.
Bir arttırma için ++ ve bir azaltma için -- operatörleri
kullanılır.
Ön-ek (prefix): (--) veya (++) operatörünün kullanılan
değişkenin önüne gelmesini ifade eder.
Son-ek (postfix): (--) veya (++) operatörünün değişkenin
sonuna gelmesini ifade eder.
21
Aritmetik Operatörler
Örnek
22
11
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
İlişkisel Operatörler
İlişkisel operatörler iki değeri karşılaştırarak bunların
arasındaki mantıksal ilişkiyi belirlemeye yarar.
İki değer birbirine eşit değilse, == operatörüyle bu ilişki
sonucu yanlış (false) olur, eşitse doğru (true) olur.
24
12
İlişkisel Operatörler
Örnek
25
İlişkisel Operatörler
Örnek
26
13
İlişkisel Operatörler
Örnek
27
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
14
Mantıksal Operatörler
Mantıksal operatörler, birden çok karşılaştırma işlemini
birleştirip tek bir koşul ifadesi haline getirmek için
kullanılır.
29
Mantıksal Operatörler
Tek ‘&’ veya ‘|’ operatörü bitwise işlemi yapar.
Çift && veya || operatörü mantıksal sınama yapar.
Aşağıdaki mantıksal sınama yazımı
doğrudur.
Aşağıdaki mantıksal sınama yazımı
yanlıştır.
30
15
Mantıksal Operatörler
Örnek
31
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
16
Bit Düzeyinde Operatörler
Bit düzeyinde operatörler, değişkenlerin/sabitlerin ikili
değerlerinin bitleri üzerinde işlem yapar.
33
Bit Düzeyinde Operatörler
VE (AND) Operatörü
Her iki değer de true ise sonuç true olur, diğer
durumlarda false olur.
34
17
Bit Düzeyinde Operatörler
VEYA (OR) Operatörü
Her iki değer de false ise sonuç false olur, diğer
durumlarda true olur.
35
Bit Düzeyinde Operatörler
YA DA (Exlusive-OR) Operatörü
Her iki değer aynı ise sonuç false olur, farklı ise true
olur.
36
18
Bit Düzeyinde Operatörler
TÜMLEME (NOT) Operatörü
a bir değişken ise, ~a ifadesi tümleme işlemini ifade eder.
~a = (-a) - 1, şeklinde hesaplanır.
Örnek
~10= (-10) -1 = -11 sonucunu verir.
37
Bit Düzeyinde Operatörler
Örnek
38
19
Bit Düzeyinde Operatörler
ÖTELEME (SHIFT) Operatörleri
Bit düzeyinde işlem yapan bir grup operatörün adı
öteleme operatörleri olarak adlandırılırlar.
Öteleme operatörleri, >>, >> ve >>> simgeleriyle
gösterilmektedir.
Öteleme operatörleri veri üzerindeki bitlerin sağa veya
sola kaydırılması amacıyla kullanılır.
Öteleme işleminden sonra değişkenin değerinde
değişiklik olur.
>> operatörü işaretli (aritmetik) sağa kaydırma
yapar.
>>> operatörü işaretsiz (mantıksal) sağa kaydırma
yapar.
39
Bit Düzeyinde Operatörler
Örnek
a = 1001
40
20
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
Atama Operatörleri
Sabit değeri veya
değişken değerini
başka değişkene
aktarır.
42
21
Atama Operatörleri
Bitişik atama operatörleri ile atama deyimleri daha kısa
yazılabilir.
43
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
22
String Operatörü
“+” operatörü String verilerde birleştirme (ard arda
ekleme) yapar (concatenation).
Eğer bir ifade String ile başlarsa, onu izleyen veri
tipleri de String’e dönüştürülür.
45
Konular
Atama İşlemleri
Yordamların Çağrılması
Java Operatörleri
Aritmetik Operatörler
İlişkisel Operatörler
Mantıksal Operatörler
Bit Düzeyinde Operatörler
Atama Operatörleri
String Operatörü
Nesnelerin Karşılaştırılması
23
Nesnelerin Karşılaştırılması
Nesnelerin birbirine eşit olup olmadığı == veya !=
operatörleriyle sınanabilir.
Örnekte, ilk kısımda nesnelerin değişkenlerinin değerleri
aynıdır, ancak referansları farklıdır.
47
24