Herkese merhaba,

Bu dersle beraber Java derslerini başlatmış olacağım. İlk derste bir Java compiler ve interpreter’ı olan (Bu terimlerin ne oldukları da dersin içinde yazılı) JCreator’dan, nasıl kurup ayarlanacağından ve Java’daki temel değişkenlerden, değişken tanımlama kurallarından bahsedeceğim.

Java Programlarının Çalışma Şekli Nasıldır?

Java’da yazdığınız bir programı çalıştırmak için 2 aşamadan geçirmeniz gerekir:

– Compile (Javac programı ile derlemek)

– Interpret (Java Interpreter (Java Virtual Machine)(JVM) ile yorumlamak)

Bunlardan compile etme işlemi tek seferliktir. Yani programı yazdıktan sonra sadece 1 kere compile etmeniz yeterlidir. Ancak derlenmiş uygulamanın yorumlanması uygulama her çalıştığında tekrar tekrar gerçekleşir.

Bir Java uygulamasının ilk hali ‘.java‘ uzantılı olan ve yüksek seviyeli bir dil olan Java diliyle yazılmış halidir. İkinci aşama olan derlenmiş hali ise daha düşük seviyeli olan ancak hâlen tam anlamıyla makine dili olmasa da makine diline yaklaşan “.class” uzantılı bytecode halidir. Son aşamadaki yorumlanmış hali ise uygulama her açıldığında tekrar ve tekrar gerçekleşir çünkü her bilgisayar donanımının bilgisayar işlem kodları donanımın üreticisi tasarımcı tarafından ayarlanır ve bu yüzden global bir makine dili sistemi yoktur. Bu yorumlanma işlemi de bytecode’yi donanımın kendi makine diline uygun formata çevirir ve böylece uygulama her bilgisayar sisteminde çalışabilir.

Değişken Tipleri

Tür Kapladığı Alan Minimum Değer Maksimum Değer
byte 8 bit -128 127
short 16 bit -32,768 32,767
int 32 bit -2,147,483,648 2,147,483,647
long 64 bit -9×1018 9×1018
 
float 32 bit ±3.4×10±38 7 belirli basamak**
double 64 bit ±1.7×10±308 15 belirli basamak**
 
char 16 bit ISO standartlarında herhangi bir karakteri depolamaya yarar.
boolean 8 bit Ya true ya da false değeri alır. Oldukça kullanılır.
String Değişken Herhangi bir yazıyı depolamaya yarar. “Merhaba Dünya” ya da “13C” gibi..

** Buradaki ‘belirli basamak’tan kasıt şu: O sayının virgülden sonrası eğer uzunsa bu virgülden sonrasının sadece ilk 7 veya 15 vb. basamağı gerçek değerleriyle depolanır. Ondan sonraki basamaklar 0000… olarak devam eder.

Değişken&Constant Tanımlamak

TANIM – Değişken nedir? Bir yazılım çalışırken veriler memory location denilen hücrelerde saklanır. Her hücrenin kendine has, sadece rakamlardan oluşan bir memory address’i bulunur. Eğer ki bir memory location’ı kendimize ayıracaksak, yani oraya kendi verilerimizi sokup daha sonra istersek geri çıkarıp işlem yapacaksak bu memory location’ın konumunu ifade etmek için değişkenler kullanırız. Yani aslında girdiğiniz bir veriyi değişkende depolamazsınız, değişkenin temsil ettiği memory location’da depolarsınız. Bir başka deyişle değişkenler, kullanacağımız memory location’lara akılda kalıcı isimler vermek için kullanılır. Örneğin bir memory address sadece rakamsal değer alırken (4807 gibi) bir değişken özel gramatik kurallar çerçevesinde istediğimiz ismi alabilir (oyuncuSkor, saglik, kalanMermi, sayi1, sayi2 gibi).

2 çeşit memory address bulunur: Variable (Değişken) ve Constant (Sabit). Değişkenler adı üstünde uygulama sırasında değeri değişebilen verilerdir ancak constant’ların değerleri hep ilk tanımlandıkları anda verilen değer olarak kalır, program sırasında değiştirilemez.

Bir değişken tanımlamak için çok basit bir sisteme uymak yeterlidir: Önce değişkenin türü (int, float vb.) yazılır ve ardından değişkene vereceğimiz ismi yazarız. Son olarak da her işlemde olduğu gibi bu işlemin de sonuna noktalı virgül ‘;‘ konulur (Buna ilaveten genel olarak tüm programlama dillerinde çoğu satırın (işlemin) sonuna da ‘;‘ konulur. Bu, o işlemin burada bittiğini belirtmeye yarar.). Örneğin:

int sayi; 

double kusuratliUzunSayi;

char turkLirasi;   

boolean kapiAcik;

Değişkenlere değer atarken yapmamız gereken işlem de oldukça basit. Sadece değişkenin ismi yazılır, ‘=‘ (Eşittir) işareti konulur ve değişkenin değeri yazılır. Dikkat etmeniz gereken husus, değişkene atayacağınız değerin uygun formatta ve büyüklükte olmasıdır. Yani mesela bir int değişkenine String tarzı yazı atayamazsınız. Ya da mesela short değişkene 32,767’den büyük bir sayı da atayamazsınız. Örnek değer atamaları:

sayi = 500;

kusuratliUzunSayi = 57.424325;

turkLirasi = ‘t’;

kapiAcik = false;

NOT1: Kod yazarken bıraktığınız boşluklar genel anlamda önemli değildir, yok sayılır ve white space olarak adlandırılır. Burada amaç kodun daha rahat okunmasıdır. Örneğin “sayi=500;” de diyebiliriz ancak “sayi = 500;” daha okunaklı bir komuttur. Nerelerde boşluk koyamam diyorsanız söyleyeyim: <=, >=, ==, != gibi özel anlamlı sembol gruplarının arasına boşluk koyamazsınız.

NOT2: Değişken türlerinden de biraz bahsedeyim. Bunlar oldukça basit şeyler, yani birkaç program yazdıktan sonra kolayca neyin ne olduğunu çözebilirsiniz. Sayıları depolamaya yarayan değişkenleri 2 gruba ayırabiliriz: Tamsayılar (Virgülden sonrası olmayan sayılar) ve reel sayılar (Virgülden sonra da değer alabilen sayılar). Tam sayıları depolamaya yarayan 4 değişken türü var: byte, short, int, long. Peki neden bu kadar çok tür var, sonuçta hepsi aynı şeyi yapmıyor mu? Kesinlikle doğru, hepsi aynı şeyi yapıyor: Bir tam sayıyı depoluyor. Ancak aralarındaki tek fark depolayabilecekleri maksimum ve minimum sayı büyüklüğü. Tabloda da gördüğünüz gibi bir byte maksimum 127 değerini alabilir. Mesela biz byte türündeki bir değişkene 133 gibi 127’den büyük bir değer atamaya kalkarsak hata alırız çünkü byte bu kadar büyük bir sayıyı desteklemiyor. Ancak byte‘ın bu dezavantajının dışında bir de avantajı var haliyle: Bilgisayarınızın RAM’inde daha az hafıza yeri kaplıyor (Sadece 1 byte = 8 bit’lik yer kaplıyor.). Değişken türlerinin sayı aralığı arttıkça otomatik olarak kapladıkları alan da artıyor. Zaten 4 tane tam sayı türü olmasının tek amacı da bu; herhangi bir işlemde kullanacağınız sayının boyutuna göre en uygun değişken türünü seçerek RAM’de minimum yer işgal etmek. Ancak artık RAM standardı 4 GB gibi, byte’ların hesabının yapılmasına gerek bıraktırmayacak kadar büyüdüğü için bu değişken türlerinin pek anlamı kalmadı ve bu yüzden bize gerekli sayı ne kadar küçük olursa olsun genel anlamda int türü programcılar tarafından kullanılmaktadır (int = integer = tamsayı). Gelelim diğer değişken grubuna: Reel sayılar. Bu sayılar ise tam sayılardan farklı olarak virgülden sonra da basamak depolayabiliyorlar. Mesela PI sayısı (3.14 … ) bir reel sayıdır. 2 çeşit reel sayı depolamaya yarayan değişken türü var: float ve double. Tıpkı tamsayılarda olduğu gibi double‘ın float‘tan tek farkı, ondan daha çok basamak depolayabilmesi ve haliyle RAM’de daha çok hafıza işgal etmesidir. Diğer bir meşhur değişken ise String. Kendisi bir yazıyı depolamaya yarar; “Merhaba Dünya!” gibi. char değişkeni ise tek bir karakter (harf ve işaret) depolamaya yarar; ‘d’, ‘/’, ‘#’ gibi. boolean türü ise sadece 2 değer alabilir: true (doğru) ya da false (yanlış). Bu tıpkı bir elektrik devresindeki anahtarın açık veya kapalı olması gibidir. boolean daha çok if, while gibi ifadelerde kullanılır. Ancak henüz oralara gelmediğimiz için bu ifadeleri bilmenize gerek yok.

Bir constant tanımlamak içinse ekstradan yapmamız gereken şey en başa ‘final‘ takısı eklemektir (Constant’ların değerleri bir daha değişmediği için ona ilk başta atadığımız değer onun final (bitiş, son) değeridir. Buradan aklında tutabilirsin bu takıyı.). Önemli bir husus, constantların tüm harflerinin büyük olması gerektiğidir. Ayrıca bir constant’a değeri tanımlanırken atanmalıdır. Örnekler:

final int ISIKHIZI = 300;

final float PI = 3.142;

final String FILM_ADI = “James Cameron’s Avatar :D”;

Bir değişken ya da constant’a isim verirken uyulması gereken bazı kurallar vardır. Bunlar kısaca şunlardır:

  • Kesinlikle Türkçe karakter (ş,ı,ğ vb.) kullanılmaz.
  • ‘_’ (Alt çizgi) karakteri hariç karakter kullanılmaz (%, +, – vb.). Ancak ‘_’ karakterinin de yalnızca constant’larda kullanımı tavsiye edilir.
  • ‘Değişken tanımlarken ‘_’ kullanmak yerine daha kullanışlı ve genel kullanılan bir yöntem kelimelerin ilk harfini büyük yazmaktır. bu_ornek_gibi yazmak yerine buOrnekGibi yazmak gibi. Örnekten de anlaşılacağı üzere bu kural değişkenin ilk harfi için uygulanmaz.
  • Değişkenin ilk harfi küçük harf olmalı ve bir rakam olmamalıdır.
  • Değişken adında kesinlikle boşluk kullanılmamalıdır!

NOT: Bir String’e değer atarken değeri “bla bla bla” şeklinde 2 tırnak işareti arasına yazmalısınız. Ancak bir char’a değer atarken ise onu ‘x’ şeklinde iki adet tekli tırnak işareti arasına yazmalısınız.

JAVA DİLİNE GİRİŞ

Java Derleyicisi Kullanmak – Jcreator

Ben Java kodlarının derlenmesi ve yorumlanması için güzel bir editör olan JCreator’u kullanıyorum. Peki derleyici program kullanmadan da derleme işlemi yapamaz mıydık? Evet, hatta hiçbir ekstra program yüklemeden bile yapabilirdik çünkü Microsoft Windows bu işi yapan hazır bir program barındırmakta zaten: Javac.

Javac programına direkt erişemezsiniz, ona sadece Command Prompt (cmd)(MS-DOS) ile ulaşabiliriz. Bunun için ise;

1)      Önce cd komutuyla ‘.java‘ dosyasının olduğu yere gitmelisiniz. Ondan sonra ise ‘javac ProgramınAdı.java‘ komutuyla Javac programını kullanarak ‘.java’ uzantılı programını compile edip ‘.class‘a dönüştürebilirsiniz.

2)      Bundan sonra ise ‘.class’ uzantılı bytecode dosyasını interpret edip (yorumlayıp) çalıştırmak için ‘java ProgramınAdı’ yazmalısınız. Burada dikkat edilmesi gereken husus programın adının büyük-küçük harf de dahil tamamen aynı yazmaktır. Mesela ‘ÖrnekProgram.class’ dosyasını ‘java örnekprogram’ diye çalıştırmaya kalkarsanız sonuç alamazsın, Java programları büyük-küçük harf duyarlıdır çünkü.

Şimdi buradan ayrılıp Jcreator’a geri dönelim. Bu program bizi tüm bu zahmetlerden kurtarmakla kalmıyor, programı yazarken de arayüzü sayesinde oldukça kolaylık sağlıyor.

Programın ücretsiz ve süresiz sürümünü edinmek için http://www.jcreator.org/download.htm adresinden JCreator LE v4.50‘yi (JCreator Classics’in sağında) indirmeniz yeterli. Ancak bekle! Bundan önce başka bir şey daha indirmek zorundasınız. Bu indireceğiniz şey -JDK (Java Development Kit)- Java programlarını oluşturmanız için gerekli bir şeydir. Bunu http://www.oracle.com/technetwork/java/javase/downloads/index.html adresinden ücretsiz yükleyebilirsiniz. JDK’yı yükledikten sonra artık JCreator’u yüklemek için önünüzde hiçbir engel kalmadı. Her 2 programı da kurduktan sonra ise ayarlarda ufak oynamalar yaparak programı daha etkili kullanacağız. Programları kurduysanız ayarlamalara başlayalım:

1)      Configure – Options… yolunu izleyin.

2)      Workspace-Start up yolunu izleyin.

3)      At Startup’ı None olarak değiştirin. (Böylece program her açıldığında o işlevsiz ana menü gelmez. Ancak siz gelmesini istiyorsanız bu adımı atlayın.)

4)      Editor-Java yolunu izleyin.

5)      Compatibility’nin altından Show line numbers’ı işaretleyin.

6)      Auto insert brackets’ın başındaki tiki bence kaldırın. (Parantez açtığınızda otomatik olarak kapatma parantezini de açarak size kolaylık sağlar ancak hem tüm kod yazımına hakimiyet sağlamak hem de klasik elle açıp kapatma yöntemine alışmak için bunu deaktive edebilirsiniz.)

7)      JDK Tools‘a gelin.

8)      Select Tool Type’tan ‘Run Application’ı seçin. Aşağıdan <Default>’a tıklayın ve sağdan Edit…’e basın.

9)      Açılan pencereden Capture output’un başındaki tiki kaldırın. (Bunu yapmazsanız programlarınızı çalıştırırken JCreator’un içerisinde beyaz arkaplanda çalışırlar ancak kaldırırsanız MS-DOS penceresinde çalışır. Çoğu kişi MS-DOS’u tercih ediyor, ben de. Size de tavsiye ederim.)

10)  Show command line’ı işaretleyin. (Ne işe yaradığını bilmiyorum oysa ki :S )

11)  Apply ya da OK diyerek şimdiye kadar yaptıklarınızı kaydedin.

12)  Üstteki View sekmesinden File, Class ve Package panellerini açın.

13)  Artık hazırız!

Yorumlar
  1. yasin özçoban diyor ki:

    Güzel bir makale olmuş. Java anlatıp bitirecek misin yoksa androit e de çıkmayı düşünüyor musun?

    • yasirkula diyor ki:

      Teşekkürler. Yorumunuzu hemen onaylamamış sistem, genelde onaylardı. Gecikme için pardon 🙂

      Şu an okulda öğrendiklerimle beraber gitmeyi düşünüyorum ama sonrası konusunda kesin bir fikrim yok.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s