Search

Java - 5

16 Ocak 2015 Cuma

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
HeyDunya
{
public
static
void
main
(String
args
[
]
)
{
System
.
out
.
println
(
"HeyDunya!"
)
;
}

}

Hiç yorum yok:

Yorum Gönder