JAVA 1
GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden bağımsız. Yüksek verimli. Çok işlevli. Yüksek seviye. Adım adım işletilen (interpreted) bir dildir. 2
Bir Java programı Java Virtual Machine (JVM) ile çalıştırılır. Programcılar yeni class’lar tanımlayabilirler. Java tanımlayıcıları rakamla başlayamaz. Java da pointer yoktur. 3
Objeler sadece referans yoluyla bildirilir. Obje oluşturmak için new operatörü kullanılır. “new “ operatörü ile alınan hafıza “delete” ile silinmez.Silme işlemi “Garbage collector” tarafında otomatik olarak yapılır.
Primitive Types vs. Reference Types Primitive boolean, byte, char, short, int, long, float, double Reference Object Null default değeri Object’lerin method’larını çağırmak için Kullanılır. 5
Control Structures Selection structure if if…else switch Repetition structure while do…while for 6
Compile and interpreted 7 Java derleyicisinin adı Javac’ dır. Javac,kaynak kodu byte koda çevirir.Bu sayede Java kodları platform bağımsız olarak çalışırlar. ( pc, mac, cep telefonu). Byte kodlar, Java Virtual Machine(JVM) üzerinde çalışır. Yorumlama işlemi Java Virtual Machine( JVM) tarafından gerçekleştirilir.
Java Geliştirme Safhaları 1. Edit 2. Compile 3. Load 4. Verify 5. Execute 8
Aritmetik Operatörler 9
Classes Her Java programında en az bir kullanıcı tanımlı sınıf vardır. Class tanımlamaları C++ ile çok benzerdir. public, private ve protected erişim tipleridir. Fonksiyon çağrıları “ method “ olarak adlandırılır. Java ‘da global fonksiyon yada global değişken yoktur. Java sabitler( constant) için “final” keywordunu kullanır. 10
Inheritance Yazılımın yeniden kullanılabilirliğidir. Var olan class’dan yeni bir class oluşturmamızı sağlar. Var olan class‘ın veri üyelerini ve method’larını içerir. Yeni tanımlanalar ile geliştirilir. Subclass, superclass’tan genişletilir. Subclass, C++ daki “derived class”a karşılık gelir. Superclass,C++ daki “base class”a karşılık gelir. 11
Inheritance hiyerarşisi 12
Object Class Class Object methods clone equals finalize getClass hashCode notify, notifyAll, wait toString 13
Polymorphism Genele programlama sağlar. Aynı çağrıya bir çok farklı sonuç üretir. Bir program super class değişkeni üzerinden method çağırırsa, super class değişkeninde saklana referans tipine göre doğru olan method çağrılır. Method’un çağrıldığı nesnenin tipine göre aynı isim ve imzaya sahip method ‘lar farklı sonuçlar üretebilir. Sistem kodunda çok az bir değişiklik yaparak yeni sınıflar eklenmasini sağlar. 14