15 Ekim 2015 Perşembe

JAVA DİLİNE GİRİŞ

JAVA'NIN TARİHÇESİ
   Java nın tarihine bakındığında C ve C++ dillerini görmek mümkündür.Çoğu özelliğini bu 2 dilden devralmıştır.Söz dizimi olarak C yi takip eder. Nesne yönelim özellikleri olarak C++ dan etkilenmiştir. Programlamanın doğuşu C olarak kabul edilir daha sonra 1980 li yılların başında C++ kullanılarak nesne yönelimli programlama büyük önem kazandı. Ama bir süre sonra C++ da ihtiyaçlara cevap vermedi ve programcılar yeni bir dil arayışına girdiler.
  Java 1991 yılında Sun Microsystems Inc. şirketinde çalışan James Gosling,Patrick Naughton,Chris Wart,Ed Frank ve Mike Sheridan tarafından tasarlandı.Çalışan ilk sürümünü geliştirmek 18 ay aldı. Bu dil ilk olarak "OAK" olarak anıldı. Daha sonra 1995 de adı "JAVA" olarak değiştirildi. Java diline duyulan ihtiyacın asıl nedeni platformdan bağımsız bir dil oluşturma isteğiydi. Bu istek Java dilinin doğmasına yol açtı.

JAVA
   Java nesneye yönelik bir programlama dilidir. Günümüzde en çok geçerliliğe sahip programlama dili javadır ve birçok yerde kulllanılır. Örneğin; bilgisayarlarda çalışacak uygulamalar, web tarayıcılarda çalışacak applet'ler, sunucu tabanlı web uygulamaları,enterprise uygulamalar,mobil cihazlar için uygulamalar java dili kullanılarak geliştirmek mümkündür.Bu kadar uygulama yapabilmek javanın birçok özelliğe sahip olduğunu gösterir. Aşağıda java dilinin özelliklerine bakalım.

JAVA DİLİNİN TEMEL ÖZELLİKLERİ
1) Java platformdan bağımsız olarak çalışır. Aynı kod birden fazla sistem üzerinde çalışabilir.Bu özellik aynı zamanda javanın taşınabilir olduğunu gösterir.Java bunu sanal makine sayesinde yapar. Bu makine yazılan kodu her sisteme uyarlayabilir.
2) Nesneye yönelik bir programlama dilidir. Javada her şey nesneye dayanır.Kodlar belli bir sınıf içerisinde tutulur.
3) Javada pointer yoktur.
4) Yorumlanabilen ve yüksek performanslı bir dildir.
5) Sağlam ve güvenlidir.
6) Javada fonksiyonlar yerine metotlar vardır.
7) Diğer dillerde olan "scope" mantığı bu dildede vardır.



JAVANIN ÇALIŞMA MANTIĞI
   Javanın çalışma matığını anlamak için öncelikle JDK,JRE,JVM kavramlarını bilmek gerekir.

JDK : Java Development Kit, javada geliştirdiğimiz uygulamaları derleyip çalıştıran kütüphaneleri içerir.

JRE : Java Runtime Enviroment, java ile daha önceden derlenmiş uygulamaları çalıştırmak için kullanılır. JDK kurulumu ile birlikte direk bilgisayara kurulmaktadır.

JVM: Java Virtual Machine, yukarıda bahsettiğimiz sanal makinedir.Javanın platrformdan bağımsız olmasını sağlayan bu araçtır. JVM derlenmiş kodları makine diline çevirerek işletim sistemine uygun hale getirerek kodun çalışmasını sağlar.

Günümüzde java derleyicileri olarak ne çok kullanılan IDE ler ECLİPSE ve NETBEANS dır.
Bunlardan birini kullanarak java kodu yazabiliriz. Şimdi JDK ve ECLİPSE kurulumlarını inceleyelim.

JDK KURULUMU
   Öncelikler "oracle" resmi sitesine giriyoruz yazılım sözleşmesini kabul etikten sonra bilgisayarımıza uygun .exe uzantılı dosyayı seçiyoruz ve bilgisayarımıza indiriyoruz. İndirilen dosyaya çift tıklayınca aşağıdaki ekran karşımıza geliyor.


Yukarıda gelen sayfaya next diyerek bir sonraki adıma geçiyoruz.


Bu gelen ekranda da next butonuna tıkladıktan sonra kurulum ekranı gelip dosyaların bilgisayarınıza kopyalandığını göreceksiniz.

Kurulum tamamlandıktan sonra JDK size dosyayı nereye kuracağını aşağıdaki gibi belirtecektir.

Eğer bilgisayarınıza ,içinde farklı bir yere kurulum yapmak istiyorsanız." Change" butonuna tıklayarak değişiklik yapabilirsiniz. Kurulacak olan yeri seçtikten sonra "next" diyerek kurulumun tamamlanması için devam ediyoruz. Kurulum bittikten sonra aşağıdaki ekran karşımıza gelecek bu ekranda "close" butonuna tıklayarak kurulumu tamamlıyoruz.


Şimdiki adımımız windows ortam değişkenini ayarlamak, bunun için sırayla şu aşamaları takip etmeliyiz.

İlk olarak bilgisayarım simgesine sağ tıklayıp özellikler seçeneğini seçin. Açılan  pencereden sol taraftaki gelişmiş sistem ayarları seçeneğini seçin. Karşınıza aşağıdaki gibi bir pencere gelecek buradan ortam değişkenleri butonuna tıklayın.


Karşınıza gelen penceredeki değişken değeri bölümündeki metnin sonuna noktalı virgül koyarak C:\Program Files\Java\jdk1.7.0_04\bin ifadesini ekleyin ve "tamam" butonuna tıklayın.



Böylelikle JDK kurulumumuzu bitirmiş oluyoruz. Şimdi sıra ECLİPSE kurulunda :

ECLİPSE KURULUMU

https://eclipse.org/downloads/ bu adrese gidip işletim sistemimize uygun eclipse türünü seçip indiriyoruz.
İndirdiğimiz "zip" dosyasını C:\ kök dizini altında sağ tıklayıp buraya çıkart dedikten sonra C:\ kök dizininde eclipse isminde bir klasör oluşacak. Bu klasörün içinde eclipse.exe adındaki dosyaya çift tıklıyoruz.



Kurulum bittikten sonra ECLİPSE IDE miz kurulur ve aşağıdaki pencere açılır.


Şekildeki gibi bizi ilk olarak welcome sekmesi karşıladı. bu sekmeyi kapatarak, FİLE>NEW>JAVA PROJECT diyerek java projelerimizi oluşturup kodlarımıza başlayabiliriz.

Fakat kodlara başlamadan önce java hakkında bilmemiz gereken ilk şey, kaynak dosyaya vereceğimz ismin ".java" uzantısına sahip olması gerekir. Örneğin : Example.java gibi.
Aksi takdirde java derleyicisi kodları derlemez.
Diğer dikkat edilmesi gereken bir noktada programın tutulduğu sınıf adının dosya adı ile aynı olması gerektiğidir.Ayrıca harfleride de dosya adının harfleriyle aynı olmalıdır. Çünkü java harf kipine duyarlıdır.
Örneğin :  Kaynak dosya adımız "Example.java" olursa , kodların yazıldığı sınıfta "class Example" olmalıdır.

JAVA İLE İLK PROGRAMLAR

--JAVA DA "HELLO WORLD" YAZDIRMA--

System.out.println" kodu "System.out.print" şeklinde de yazılabilirdi. Bu iki kod arasındaki tek fark "println" kendinden sonraki gelen kodu bir satır atlayarak yazar, "print" kendinden sonraki gelen kodu satır atlamadan yazar.

**NOT** : Programlarda kodların yanında "//" gibi ifadeler görebiliriz : "//" bu ifade programlama dillerinde yorum satırı olduğunu belirtmek için kullanılır farklı kullanımları mevcuttur. İlerleyen zamanlarda farklı kodlar üzerinde farklı şekillerini de göreceğiz. "//" bu ifade den sonra gelen yazılar kodlara dahil edilmez açıklama yapmak için kullanılır. Bu bizden sonra herhangi birisi kodlara baktığı zaman daha kolay anlamasına yardımcı olur.


--DEĞİŞKEN TANIMLAMA VE İŞLEM YAPTIRMA--


**NOT** : Görüldüğü gibi değişken tanımlamak değişkenlere değer atamak diğer dillerde olduğu gibidir. Sadece ekrana ifade yazdırma kodları değişiklik gösterir.

DATA TYPES(DEĞİŞKEN TİPLERİ)

 Javada veri tipleri primitive(ilkel) ve non-primitive(class tipleri) olmak üzere ikiye ayrılır.
Primitive tipler C dilinden gelen tiplerdir.Boolean,character,integer(byte-short-int-long),floating-point(float,double) bu veri tipleridir.
Class tipler ise javanın nesne tabanlı olmasından kaynaklı tiplerdir.String,array... bu tiplerdendir.

 Bu veri tipleri içinde programlarda en çok kullanılan ve kullanırken dikkat edilmesi gereken tipler integer(int),float,double tipleridir.

İnteger(int) : Tam sayılar için kullanılan değişkendir. Örneğin tanımlayacağımız sayı bir tam sayı olacaksa bunu "int" olarak tanımlarız.32 bitlik tamsayı tipidir. -2.147.483.648 ile 2.147.483.647 aralığında tamsayı değeri alır.

 Byte : En küçük tamsayı tipidir. 8 bit -128 ile 127 arasında tamsayı değerleri alır.

 Short : 16 bitlik tamsayı tipidir. -32.768 ile 32.767 aralığında değer alır. Bu javada en az        
 kullanılan tiptir.

 Long :64 bitlik tamsayı tipidir. int değişkeninin yetersiz kaldığı sayıları tanımlamak için kullanılır.
   

Float ve Double : Ondalık sayılar tanımlanırken bu değişkenler kullanılır. Çok hassas, virgülden sonraki her rakamın bizim için çok önemli olduğu programlar yazıyorsak "double" kullanırız.Çünkü double hassasiyet olarak float dan daha hassastır.Float bellekte 32 bitlik bir alan kaplarken double 64 bitlik bir alan kaplar.

Boolean : True-False değerlerini göstermek için kullanılır.

Char : Karakterleri saklamak için bu değişken kullanılır. Harf ve sayıları saklayabilir.

Şimdide char ve boolean  veri tipinin kullanımıyla ilgili bir örnekler yapalım.

                                                     CHAR  VE BOOLEAN KULANIMLARI : 
-- BASİT BİR BOOLEAN KULLANIMI--

--BASİT BİR CHAR KULLANIMI--

                                       FLOAT VE DOUBLE DEĞİŞKEN KULLANIMI: 
--BASİT BİR ÇEMBER ALANI HESAPLAMA--


** NOT** : int sayi1 =9, sayi2=sayi3=sayi4=571 (YANLIŞ KULLANIM)

int sayi1,sayi2,sayi3,sayi4;
sayi1=sayi2=sayi3=sayi4=571; (BU İKİ SATIR TANIMLAMA VE YAZIM DOĞRU)

[[ BEN BU TÜR BASİT BİR HATAYLA KARŞILAŞMIŞTIM :) ]]



KOŞUL(IF- ELSE IF-ELSE) İFADELERİ 

Javada koşul ifadeleri diğer dillerde olduğu gibidir. Aynı mantığa sahiptir.if bloğu açılarak içine koşul şartı yazılır.
Örneğin : if(num<100)
System.out.println("Num is the less than 100);

                                                            IF KODU KULLANIMI : 
--BASİT BİR IF KULLANIMI--



İf komutunun yanında programlarda en çok kullanılan diğer bir ifadede "else" ve "if else" ifadesidir. Birden fazla koşulumuz varsa ilk koşulu yazarken "if" kullanırız diğer mümkün olan koşulları yazarken "else if" kullanırız.Bu koşullardan hiçbiri gerçekleşmediği zaman olacak olan durumu belirtirken "else"ifadesini kullanırız. Bu durumu kodlama kısmında daha iyi anlayacağız.


                                                 ELSE İF KODU KULLANIMI :
--IF/ELSE IF/ELSE KULLANIMI İLE MEVSİMLERİ YAZDIRAN PROGRAM--
SWİTCH-CASE-DEFAULT İFADELERİ :

Java programlarının olmazsa olmaz yapılarından biriside "switch-case" yapılarıdır. Çoğu programda ıf-else if-else ifadelerinden daha çok işe yarar ve daha kullanışlıdır. Bu kontrol yapısının çalışma mantığı şu şekildedir: "switch" ifadesinin yanına açılan parantezlere herhangi bir deyim yazılır. Program çalıştığı zaman "case"ifadesinin içindeki değerle karşılaştırılır.Eğer eşlesme olmazsa, ifade çalıştırılır. Fakat "default" ifadesi isteğe bağlıdır. Eğer program çalıştığında eşleşme olmazsa "default" ifadesi çalışır yada "default" ifadesi yoksa program herhangi bir çıktı vermez. Aşağıda bir örnek kodla bu yapıları anlamak daha kolay olacaktır.Aşağıdaki program yukarıda ıf-else ıf-else ile yazdığımız mevsim bulma programının switch-case ile yapılmış halidir.


 
--SWİTCH-CASE KULLANIMI İLE MEVSİM ARAMA--


"BREAK" kodu :"case" ifadesini durdurmaya yarar, yukarıdaki programdan örnek verecek olursak : yukarıda "case" yapılarının içinde ayların kaçıncı ay olduğu değeri yazılmıştır. en üsttede int adında tamsayı değişkenine 10 sayısı atanmıştır. Program çalıştığı zaman ilk olarak 10 sayısını okur alta iner 10 sayısını hangi "case" içerisinde ise o "case" in istediği şeyi yapar. Programımızda 10 sayısı "autum" değerine ile eşleşmektedir. Çıktı olarak : "ekim is in the autum" yazar yani 10. ay ekimdir ve mevsimlerden sonbahardır. Daha sonra break komutu kullanarak program durur. Eğer biz int değişkenine 10 yerine 1 değerini atasaydık program ilk olarak int=1 değişkenini okuyacak alta inecek 1 hangi "case" içerisine dahil oluyorsa o "case" in istediği şeyi yapıp break komutu ile duracaktı. yani 1 verdiğimiz zaman "ocak is in the winter" ekran çıktısı olarak görünecekti.Eğer "break" komutu olmasaydı program durmayacak aşağıdaki "case" lerden devam edecekti.





4 yorum:

  1. İlk yazın gayet hoş ve başarılı olmuş. Devamını getirmen temennisiyle başarılar dilerim :)

    YanıtlaSil
  2. Çok teşekkür ederim. Devamını daha gelişmiş ve güzel bir şekilde getireceğim :)

    YanıtlaSil
  3. Harika ve gerçekten çok yararlı bir yazı olmuş. Devamını bekleriz başarılar:)

    YanıtlaSil