Java-Veri Tipleri- Operatorler DERS 2: JAVA Java Nasıl Çalışır? • • • • Nedir? Javayı önemli kılan özellikleri? Java Nasıl çalışır? 30dk. “Bir kere YAZ, HERYERDE Çalıştır” JDK(Java Development Kit) • Java ile geliştirme (development) yapmak için Java Development Kit'e (JDK) ihtiyacınız var. Bu paket Java ile geliştirme yapmak için bütün araçları içeriyor. • JDK Ayarları: yapilmasi.html http://mesutaltinyaprak.blogspot.com/2009/04/jdk-ayarlarini- JRE(Java Runtime Environment) • Bir defa yaz derle, her işletim sisteminde çalıştır" AMA NASIL? • Java kodları derlendikten sonra direkt olarak derlendiği makineye özgü makina kodlarına dönüştürülmemektedir. Bir ara dil olarak tabir edilen Java ByteKode larına çevrilmektedirler. Bu byte kodlar her işletim sistemi için aynıdır fakat bu kodları yorumlayacak bir ekipmana ihtiyaç duyulmaktadır. JVM(Java Virtual Machine) • Java'da yazılan uygulamaları çalıştırabilmek için bilgisayarımıza bir Java sanal makinesi (Java Virtual Machine - JVM) kurmamız gerekiyor. • JVM: Her sistem için aynı olan bu bytecode ları alıp çalıştığı sisteme özgü bir şekilde yorumlamaktadır. • JRE, JVM ile birlikte Java platformu çekirdek dosyalarını ve değerli diğer çevre birimleri bulunduran bir paket olarak düşünülmelidir. JDK - JRE - JVM • Java geliştirme kiti JDK, Java'nın sanal makinesi ise JVM. • JRE ise Java Runtime Environment yani Java çalıştırma ortamıdır. İçinde JVM bulunan yazılımdır. Bundan başka içinde Java kütüphaneleri de bulunur. Dolayısıyla Java uygulamalarını çalıştırmak için bilgisayarımıza aslında JRE yükleriz. Sanal makine olan JVM de JRE ile yüklenir. • JDK ise yazılım geliştiricilerinin ihtiyaç duyduğu ekipmandır. Neden mi JAVA? 2 • En önemlisi platform bağımsız. her hangi bir yerde yazdığım yazılımı tek satir bile değiştirmeden tüm işletim sistemlerinde ve donanımlarda çalıştırabiliyorum. • Güvenli kod yazımı. Pointer kullanımı, bellek sızıntıları, #ifdef satırları, karmaşık derleme sistemleri, işletim sistemi hatta derleyici bağımlı kütüphanelerden bıkmış birisi olarak Java’yı günümüzdeki haliyle C, C++'a bin kere tercih ederim. • Nesneye yönelik. Bir kere alıştıktan ve kavradıktan sonra bir daha terkedemeyeceginiz nesneye yönelik yazılım geliştirmenin güzel bir gerçeklemesidir. Bu nedenle kriptik anlaşılmaz script dilleri, hem ondan hem bundan diyen C++ gibi hibrit dilleri ve C gibi alt seviye bir işkence aletine karşı Java’yı tercih ediyorum. • Yüksek performans. script dilleri geri dursun. Neden mi JAVA? • Basitlik: az komut sayısı ve konulara çoğunlukla ayni yönden yazılması ile öğrenilmesi C++ ve C#'a göre kolay olduğundan tercih ediyorum. • Seçenek: Birden fazla sanal makine, SDK ve uygulama sunucu geliştirici sayesinde tek geliştiriciye bağımlı değilim. Java’nın geliştirilmesi her ne kadar Sun'in denetiminde yapılsa da JCP adi verilen bir organizasyon ile diğer şirketler de Java’nın geliştirilmesine doğudan katkıda bulunmaktadır. Ayrıca Java’yı karmaşık bulanlar daha kolay anlaşılabilir BeanShell, Jython, Rubby, Groovy gibi JVM üzerinde çalışabilecek script dillerini kullanabilir. • Geliştirme ortamları: Java ile yazılım geliştirebileceğiniz ticari ya da bedava ve acık son derece güçlü ve çok sayıda yazılım geliştirme ortamları mevcut. Üstelik tüm platformlarda. • Olgunluk. Java gecen on yılda havanda iyice dövülerek olgun bir hale geldi. Su anda çeşitli Java sürümleri bankalar, askeri sistemler hatta uzay araçlarında kullanılmaya uygun olarak görülmektedir. Kurumsal alandaki uygulamaların büyük çoğunda Java tercih edilmektedir. .Net'in bu asamaya gelmesi için daha kırk fırın ekmek yemesi gerekir ve genellikle ciddi bir yatırımcının zaman kaybına tahammülü yoktur. Neden mi JAVA? • Açık kod: Java ile gerçekleştirilen acık kodlu proje ve framework sayısı on binlerle ifade ediliyor. hemen her ticari uygulamanın bir acık kodlu karşılığını bulmanız mümkün. • Destek, Java su anda IBM, Oracle, Sun, Bea gibi dev şirketler tarafından desteklenmektedir. Bu şirketlerin hiç birisi .Net yoluna gideceklerine dair en ufak bir işaret vermemişlerdir. O nedenle Java’nın geleceğini aydınlık olarak görüyorum. • Eğer iyi derecede Java ve yazılım geliştirme bilirseniz iyi ve ciddi bir iş bulma şansınız diğer dillerden daha yüksektir. UYGULAMA • • • • public class Selam { public static void main(String args[]) { System.out.println("Selamlar !"); } } ÖDEV • Kutsal Kaynaklar_NTP’den • programla_dili_olarak_java.pdf • Java İle İlk Program Kodunu Çalıştırmak.pdf Ders 3: Java Veri Tipleri- Değişken Tanımlama – Erişim Belirleyicileri Erişim Belirleyicileri • Public • Private • Protected • Public: Public olarak tanımlanmış bir metot veya özelliğe herhangi bir yerden ulaşmak mümkündür. Herkese açık olarak tanımlayabiliriz. • Private: Bu sıfat ile tanımlanmış metot veya özelliklere sadece tanımlandığı sınıf içerisinden ulaşabiliriz. • Protected: Protected metotlara veya özelliklere tanımlandıkları sınıftan ve bu sınıftan üretilmiş alt sınıflardan ulaşabiliriz. • • • • Adı a olan değeri 5 olan bir int değişken tanımla: Adı b olan değeri 12 olan bir int değişken tanımla: Adı c olan değeri 3 olan bir int değişken tanımla: Adı x olan değeri 5 5.5f olan bir float değişken tanımla: • Adı s olan değeri zaman olan bir metin değişkeni tanımla: Operatörler Operatör Türleri • • • • • Aritmetik Atama İlişkisel Mantıksal Bitsel • KAYNAK: operatorler/JAVA 1 operatörler.pdf İşlem Açıklama Değer a = --b; Önce çıkar sonra ata a = ++b; Önce topla sonra ata a = b--; Önce ata sonra çıkar a=b++; Önce ata sonra topla b = --a; Önce çıkar sonra ata b = ++a; Önce topla sonra ata b = a--; Önce ata sonra çıkar b=a++; Önce ata sonra topla a b 10 20 İşlem Açıklama Değer a b 10 20 a = --b; Önce çıkar sonra ata 19 19 a = ++b; Önce topla sonra ata 20 20 a = b--; Önce ata sonra çıkar 20 19 a=b++; Önce ata sonra topla 19 20 b = --a; Önce çıkar sonra ata 18 18 b = ++a; Önce topla sonra ata 19 19 b = a--; Önce ata sonra çıkar 18 19 b=a++; Önce ata sonra topla 19 18 NETBEANS KURULUM • http://www.oracle.com/technetwork/java/jav ase/downloads/index.html • JDK 7u40 & NetBeans 7.3.1 i seç. Gelen sayfadan kendi işletim sistemine uygun olan kurulumu indir. (Windows x86)