JAVA
Java,
genel amaçlı nesneye yönelik bir programlama dilidir. Sözdizimi C ve C++’a çok
benzer. Başlangıçta Java, küçük sistemleri tüketici aygıtlarına gömme yoluyla
yazılımın kurulmasında karşılaşılan sorunları adreslemek için geliştirilmişti.
Java,
Sun Microsystems taraf ından geliştirilen nesne yönelimli bir programlama
dilidir. Ağ(network) ortam ı düşünülerek ve yaz ıl ım ın platform bağımsız
olarak Anlışması (değişik bilgisayar türlerinde ve değişik işletim
sistemlerinde Anlışması) düşünülerek geliştirilmiştir. Bu nedenle, diğer
dillerden farklı olarak, aynı zamanda kendisi de bir platformdur.
Java
diliyle birçok uygulama geliştirmek mümkündür:
- Grafiksel Kullanıcı Arayüzü (Graphical User
Interface: GUI) uygulamaları,
- Appletler,
- Dağıtılmış bileşenler (EJB, RMI, CORBA,
vb.),
- Web tabanlı uygulamalar (Servlet, JSP,
vb.),
- Veritabanı erişimli uygulamalar,
- Cep telefonu, Akıllı kart uygulamaları.
- Java platformları:
- Standart Java
- Enterprise Java
- Gömülü cihazlar (embedded devices) için Java
JAVA NASIL ÇALIŞIR?
Java
kodları, Notepad gibi basit bir kelime işlemci programı ile yazılır. Yazılan
kodlar, .java uzantısıyla kaydedilir. Bu haliyle kodlar metin halindedir. Bu
kodların Anlışması için önce derlenmeleri gerekir. Derlemek için, bir derleyici
gerekir. Bunun için J2SE - SDK (Java 2 Platform Standart Edition ñ Software
Development Kit) yüklenmiş olması gerekir. J2SEíde derlenen kodlar, .class
uzantılı hale gelir. Bu haliyle kodlar ikili kod (binary code) şeklindedir.
Derlenen kodlar, Anlıştırılmak için Java Virtual Machine (JVM) adı verilen
ortama yüklenir. JVM, J2SEínin içinde bulunmaktadır. Derlenen dosya
Anlıştırıldığında, kodlardan istenilen işlemler gerçekleştirilir; uygulama
Anlışmış olur.
JAVA DİLİNE GİRİŞ
Java’ya
Başlarken
Derleme
birimi olarak adlandırılan bir Java kaynak kütüü bir ya da birkaç sınıf tanımı
içeren bir metin kütüğüdür. Java derleyici, bu kütüklerin .java kütük adı
uzantısı ile yüklenmesini bekler. Java kaynak kodu derlendiği zaman, her bir
sınıf kendi çıktı kütüğüne yerleştirilir. Java’da genel fonksiyonlar ve
değişkenler olmadığı için, bir Java kaynak kütüğünde olabilecek tek şey bir ya
da birkaç sınıfın tanımıdır.
Küçük
Program Yazımı
İlk
Java programımızı yazalım.
class
HeyDünya {
public
static void main(String args[ ]) {
System.out.println("Hey
Dünya!");
}
}
Java,
tüm kodların adı olan bir sınıfta yer almasına gereksinim duyar. Kütük adının
harf düzeninin sınıf adına uygun olduğundan emin olduktan sonra, bu metni
HeyDünya.java
adlı bir kütüe yüklemelisiniz. Kütük adlarının sınıf adına uygun olması.
programınızı çalıştırmada çok yardımcı olacaktır. Java derleyici javac’ı
çalıştırarak
ve komut satırı üzerinde kaynak kütüğün adını belirterek bu metni
derleyebilirsiniz; aşağıda gösterildiği gibi:
C:\>
javac HeyDünya.java
Javac
derleyici, yeni programın bayt kodundan bağımsız olarak derlenmiş bir işlemciyi
kapsayan ve adı HeyDünya.class olan bir kütük hazırlayacaktır. Bayt kod,
Java
Sanal Makina (Java Virtual Machine) yorumlayıcı için makine dili komutlarını
içeren programınızın bir ara sunumudur. Bu programı çalıştırmak için, bu yeni
sınıfı önce yükleyen, sonra çalıştıran bir Java yürütme zamanınızın olması
gerekir. Bunu yapmak için ise, java komut satırında argüman yerine HeyDünya
adlı sınıfa geçiş yapmanız gerekir.
C:\>java
HeyDunya
Hey
Dünya!
Bu
noktada önemli olan, Java derleyicinin ve yürütme zamanının doğru
olarak,kurulmasıdır.
Şimdi,
yazdığımız programı satır satır inceleyelim.
"HeyDunya"
basit bir program olmakla birlikte ilk kez kullandıınız yepyeni bir programlama
dili ile tanışmış oldunuz. Bunun yanısıra yeni kavramlar ve ayrıntılar için
attığınız ilk adımdır. İşte ilk satırımız:
class
HeyDunya {
Bu
satır, yeni bir sınıfın tanımlandığını bildirmek için class sözcüğünü kullanır.
HeyDunya, sınıfı tanıtmak amacıyla kullandığımız geçerli bir tanıtıcıdır. Açık
küme (kıvrımlı) parantezi ({ ) ile kapalı küme (kıvrımlı) parantezi ( })
arasında sınıfın tam adı, kod ve veri yer alır. Java’da bu parantezlerin
kullanımı C ve C++ yapısı ile eşdeğerdir.
public
static void main(String args[ ]) {
Bu
basit programın ikinci satırı genel fonksiyonların olmadığını, yalnızca
sınıfların yer aldıını bildiren Java tasarımı ile zorlaştırılır. Alan ve
yöntemler bir araya gelerek sınıfları oluşturur. Sınıfın tanımı sınıfın
yapısını ve hareketini belirler. Yöntemler fonksiyonlardan biraz daha farklı
olup kendi sınıflarının veri alanlarına (değişkenlerine) erişebilirler.
public
public
anahtar sözcüğü bir erişim belirleyici olup, programcıya her bir değişkenin ya
da yöntemin kontrolünü verir. Burada public anahtar sözcüü herhangi
bir
sınıfın main yöntemini görebildiğini göstermektedir.
private
Bu
tip bir sınıfa yalnızca paket içerisinde ulaşılabilir. Bir sınıfın tanımlanması
sırasında public ya da private olduğu belirtilmediği zaman, sınıfın otomatik
olarak private olduğu kabul edilir.
abstract
Soyut
yöntemlerin yer aldığı sınıfları belirtir. Soyut yöntemler program kodu olmayan
anlamına gelmektedir. Soyut sınıflar diğer sınıflar için yapı oluşturur.
static
Bir
sınıfa uygulanan yöntem ve değişkenlerin static olduğu bildirilir. Yöntem,
sınıfın özel bir örneğinin çalıştırılmasına gerek kalmadan çağrılabilir. Main
durumunda örneklerden önce yorumlayıcı tarafından çarıldığı için, static
olduğunu bildirmek gerekir. Static olduğu bildirilen yöntemler, statik ve yerel
değişenlerden başka herhangi bir şeye doğrudan başvuramayabilir. Nesneye
yönelik programlama dillerinde statik değişken ve yöntemlere sınıf değişkenleri
ve sınıf yöntemleri adı verilmektedir.
void
Genellikle
birtakım özel türlerin değerleri için yöntemler kullanılır. Örneğin tamsayı
değerler için int, gerçel sayı deerleri için float ya da daha karmaşık değerler
için bir sınıfın özel adları kullanılmaktadır.
main
Java,
tüm anahtar sözcük ve tanıtıcılara göre harfe duyarlı bir yapıya sahiptir. Bir
başka deyişle Java’da Main ile main farklı yöntemleri ifade etmektedir. Java
derleyici, bir main yöntemi olmayan sınıfları derler. Ancak Java yorumlayıcı bu
sınıfları çalıştırmaz. Bu programı yanlış yazdığınızı ya da Java
tanıtıcılarının harfe duyarlı olduğunu bilmedipinizi varsayalım ve main yerine
Main yazdığınızı kabul edelim. Derleyici HeyDunya adlı sınıfınızı derler. kullandığınız Java yürütme zamanı, çalışmayı
başlatacak yöntemi bilmediği için derlemeyi gerçekleştirir.
Örneğin
main sözcüğünü hatalı yazdıysanız, programı çalıştırmak istediinizde aşağıdaki
mesajı alırsınız:
C:\>
java HeyDunya
HeyDunya
sınıfında: void main (String argv[ ]) tanımsız
Yöntemlerin
bir kısmı parametrelere gereksinim duyar. Bu parametreler parantez içerisinde
belirtilir. Verilen yöntem için parametreye gereksinim yoksa, parantezi boş
olarak yerleştirmeniz gerekir. Bizim örneimizde gördüümüz gibi kullanılan bir
parametre vardır. String args [ ], args adlı bir parametreyi göstermektedir.
Tanıtıcıdan sonra kullanılmış olan köşeli parantezler ([ ]), bunun türünün bir
dizi olduğunu göstermektedir. String karakter dizilimleri depolayan bir
sınıftır.
Yorumlayıcının
ba#langıç yeri main yöntemidir. Program bir düzine sınıfa sahip olabilir, ancak
bunlardan biri main yöntemine sahip olabilir. Applet’lar (Web
browser’larda
gömülü olan küçük Java programlarına denmektedir) hazırlamaya başladıınız
zaman, Web browser’ın Java yürütme zamanı farklı bir kalıba sahip
olduğundan
main yöntemi kullanılmaz.
System.out.println("Hey
Dünya!");
Bu
satır out içerisinde println yöntemini çalıştırır. Out, bir OutputStream sınıfı
elemanı olup, System sınıfında kullanılmaktadır. OutputStream sınıfının println
yöntemi dizilimi basar. Bu yöntem, bir başka çıktının yeni satır üzerinde
basıldığından emin olmak için baskıdan önce, bir yeni satır
karakterini
dizilimin sonuna ekler.
Sözsel Bileşenler
Java
programları komutlar, anahtar sözcükler, tanıtıcılar, hazır bilgiler
işletmenler, ayırıcılar ve boşluun bileşeninden oluşmaktadır.
Boşluk (Whitespace)
Java
baımsız bir dildir. Düzgün çalışmasını salamak amacıyla herhangi birşeyi
içerden yazmak zorunda değilsiniz. HeyDunya sınıfı tek bir hizada yazılmıştır:
Public
class HeyDunya{public static void main(String a[])
{System.out.println("HeyDunya!");}
}
Aşaıda
verilen örnek aynı .class sınıfını üretir:
public
class
public
static
void
main
(String
args
[
]
)
{
System
.
out
.
println
(
"HeyDunya!"
)
;
}
}
Hiç yorum yok:
Yorum Gönder