JAVA PROGRAMINI YAZMA VE ÇALIŞTIRMA

JAVA PROGRAMINI YAZMA VE ÇALIŞTIRMA

JAVA PROGRAMINI YAZMA VE ÇALIŞTIRMA

Java programı isim.java seklinde editörle yazılır. Java programınız yazıldıktan sonra ilk step java derleyici (compiler) programıyla isim.class ara bilgisayar kodunu oluşturmaktır.

Java programını yazarken dikkat etmeniz gereken diğer bir özellik de javanın nesne sınıfının ismiyle dosyadaki isminin aynı olmasıdır. Bilgisayar konsol ekranında (DOS veya UNIX Console)

 

javac isim.java

Komutunu bilgisayara gönderdiğinizde programınızda hata yoksa ve bilgisayarınız java komutunun yerini biliyorsa (path deyimi ) java derleyicisi isim.class dosyasını yaratır. Eğer programınızda hata varsa hataların listesini verir. Programlamanın dili ingilizce olduğundan bu hata açıklamaları da ingilizcedir. Editör programına geri dönüp hataları düzeltmeniz, programı tekrar kaydetmeniz ve sonra bu komutu tekrar denemeniz gerekecektir. Eğer derlerken sınıf isimleri ve değişken isimlerini Türkçe olarak kullanabilmek istiyorsak üstteki deyimi

 

javac -encoding UTF-8 isim.java

şeklinde değiştirebiliriz. Bu durumda Türkçe program ve değişken isimlerini rahatça kullanabiliriz. Java programları iki ortam için yaratılabilir. Birincisi Konsol ortamıdır (DOS, Unix console gibi). Konsol ortamını kullanırken java dilinin konsol komutu java kullanılarak isim.class dosyası yerel bilgisayarın makine diline program çalışırken dönüştürülür. Bu temelde bir tercüme (interpretation) işlemidir. Sonuç olarak java dilinde iki kademeli bir proses kullanılır, birinci işlemde java dosyası class dosyasına çevirilir (derlenir), ikinci işlemde ise class dosyası yerel bilgisayarın makine diline dönüştürülür. konsol ortamında çalıştırılan program sonuçları yine konsol ortamında alınacağı gibi pop-up pencere grafik ortamında da alınabilir. Veya yine grafik ortamı olarak çıktısı internet browser ortamında direk olarak gösterilebilecek şekilde de yazılabilir. Bu tür grafik java programlarına applet adını veriyoruz. Eğer Program konsol ortamında yazılmışsa

 

java isim

komutu kullanılarak sonuçlar ekranda veya açılan bir grafik penceresinde görülebilir. Eğer Program applet ortamında yazılmışsa java programına ilave olarak html dilinde isim.html dosyası açılır. En basit şekilde html dosyası şu şekilde tanımlanabilir : 

                                                                 

Buradaki width pencerenin enini pixel olarak, height’da yüksekliğini yine pixel(görüntü noktası) olarak vermektedir. daha sonra bu dosya konsoldan

 


appletviewer isim.html
komutuyla çalıstırılabilir. Buradaki appletviewer komutu java program paketindeki basitleştirilmiş bir browser programıdır. Bu komut yerine isim.html dosyası herhangi bir browser programına yüklenerek görülebilir. Programcılıkta adeta adet haline gelen ilk uygulama daima o dilde ekrana Hosgeldiniz çiktisi almaktır. Bizde bu kuralın dışına çıkmayalım. Aşağıdaki listede ilk konsol programımız
Hosgeldiniz.java görülmektedir.


Program 1.1 Hoşgeldiniz.java konsol programı

                                                                  

bu programı çalıştırmak için


javac Hosgeldiniz.java
java Hosgeldiniz


komutlarını konsolda vermemiz yeterlidir konsol çıktısı olarak:

Java Sinifina Hos Geldiniz!

Yazısını alırız. Veya programımızı crimson editörde yazmış isek ve F1 kısa tuşunu javac komutunu yüklemek için F2 kısa tuşunu da java komutunu yüklemek için kullanmış isek ve capture output tuşunu işaretlemişsek: F1 ve F2 tuşlarına basarak program çıktımızı şekildeki gibi elde ederiz.
Şimdi bu program yapısına biraz göz göz atalım. // işaretiyle başlayan yazılar bilgisayar tarafından kullanılamaz sadece programı okuyanı bilgilendirmek amacı taşır /* ..... */ işaretleriyle de verilebilir.

 

class Hosgeldiniz Class (sınıf) nesne kökenli programlama yapısının temel taşıdır. Her Class'ın kendine özgü bir ismi olması gerekir. Daha önce yazılmış Class'lar import deyimiyle programa çağırılabilirler. Yeniden yazılmaları gerekmez. Class yapısı ve tanımlamaları üzerinde daha sonraki bölümlerde çok daha detaylı bilgi verilecektir.


{ } başlatma ve bitirme : Sınıf tanımlaması da dahil olmak üzere Tüm Program parçacıkları { işaretiyle başlar ve } işaretiyle son bulur. {} işaretleri arasında yazılan program parçacıklarını normal metin yazılmasındaki paragraf kavramına benzetebiliriz. Ayrıca program koduna baktığımızda "; " işaretine sık sık rastlıyoruz. Bu işaret java komutunun bittiğini belirtir. Cümle yağısında kullanılan nokta "." işareti gibi işlev görür. Java programlarını istersek ";" ve "{}" ayraçlarını yaparak tek bir satır olarak yazabiliriz. Fakat bu programın bizim tarafımızdan okunurluğunu zorlaştırır. Program kodunu yazarken boşluk ve satır aralıkları bırakarak insanlar tarafından programın okumasını kolaylaştırabiliriz. Modern programcılıktaki en büyük sorunlardan biri bigisayar kodlarının bakım ve onarımı sorunudur. Ticari olarak yazılan her programın belli bir ömrü olduğunu ve daha sonra başka bir programcı tarafından üzerinde tekrar çalışılacağını sürekli olarak hatırlamak zorundayız.

 

Hosgeldiniz.java programının ve consol çıktısının Crimson editör ortamında görünümü

                                                                                      

public static void main(String args[]) : diğer dillerde fonksiyon (function), subroutine, procedure gibi adlarla anılan Program alt parçacığının başlığı. Bu Program parçacıkları javada Metot (Method) adıyla anılır. Metotların girdileri ve çıktıları olabilir. Bu metotun adı main (ana Program) dır. String değişken türü args[] değişkeni girdi olarak girebilir. Bu metotta void çıktı türü kullanılmıştır. Void kelimesi bu metotdan hiçbir çıktı alınmayacağını belirtir. public metota dışarıdan ulaşılabilme izni verir.

 

System.out.println("Java Sinifina Hos Geldiniz!"); Bu satır System.out sınıfından println metotunu çalıştırır. Bu metot method girişinde gönderilen String tipi değişkeni konsol çıktısına aktarır. Fortran dilindeki write(*,*) veya print*, c dilindeki printf, c++ dilindeki cout<< terimlerinin javadaki tam karşılığıdır

 

İkinci konsol programımız HosgeldinizSW.java Program 1.2 de verilmiştir. Bu program SWING kütüphanesinin alt kütüphanesi olan JoptionPane kütüphanesi kullanılarak yaratılmıştır. Çıktı yazısı ekranda grafik pencere olarak belirir ve Java sınıfına Hos geldiniz! mesajını verir. Tüm bu kütüphanelerin detayları ilerideki bölümlerde verilecektir. Şimdilik nasıl kullanıldıklarını öğrenmekle ve programlarımızı örnek programlara benzeterek yazmaya çalışacağız. Uzman programcılar isterlerse ilgili bölümlerden komut detaylarına derhal girebilirler.
Programı java editör ortamında çalıştırmak istersem, önce dosyayı editörde yazar (vaya yazılmış dosyayı yükler) ve çalıştır PLAY düğmesine basarız. Sonuç konsol ortamında verilir.

Şekil 1.2 Hosgeldiniz.java programının java-editor ortamında görünümü

                                                                                  

Şekil 1.3 Hosgeldiniz.java programının çıktısının ( java-editor) konsol ortamında görünümü

 

                                                                     

                          Şimdi aynı programı netbeans ortamında çalıştıralım
Şekil 1.4 Hosgeldiniz.java programının ve consol çıktısınınNetBeans editör ortamında görünümü

 

Aynı programı JCreator da çalıştırırsak

 

Bu ön bilgiden sonra java ortamındaki girdi çıktı değişken ve ortamlarını tanımlamak amacıyla değişik Hoşgeldiniz programlarını tanımlayalım:

 

                                                            

Bu programı
javac HosgeldinizSW.java
ve
java HosgeldinizSW
komutlarını yaparak veya editörde çalıştırdığımızda

 

 Hosgeldiniz1 dosyasının konsol SWING pop-up grafik çıktısı yaparak görülmesi

                                                                                

Çıktısını alırız. Bu çıktıyı alabilmek için java SWING kütüphanesi içerisinde yer alan JOptionPane.showMessageDialog(....) metodunu kullandık. Bu metodu programımızda çağırabilmek için de import javax.swing.JOptionPane; yapısını kullandık. Buradaki import kütüphanedeki javax program paketini çağırır. Bu metodun görevi System.out.println metoduyla aynıdır. Farkı ise grafik ortamda çıktı vermesidir. Programdan da da görüleceği gibi sınıfımızın (class) adı Hosgeldiniz1 dir. Bir önceki programdaki gibi bu programda kullandığımız komutlar public static void main(String args[]) komutuyla tanımlanan ana metodun içinde yazılmıştır. Şimdi de JApplet grafik ortamında bir çıktı çağıralım:

 

                                                            

Görüldüğü gibi bu programın içinde main metodu bulunmamaktadır. Çıktı paint metodunun içinde verilmiştir. Bu programı internet ortamına html dosyası ile aktarıyoruz.

 

                                                            

Burada yazıyı temel olarak bir grafik metodu olan

g.drawString("Java sinifina hosgeldiniz!",10,10);
metodunu kullanarak pencere ortamına aktardık. bu metodda kullanılan 10,10 deyimi yazının grafik ortamındaki x ve y koordinatlarını göstermektedir. y koordinatı yukardan aşağı doğru tanımlanmıştır.
html kodunda

komutu html'e compile edilmiş olan HosgeldinizApplet.class dosyasının gösterilmesini istemektedir. Şüphesiz aynı komut çok daha kompleks bir html dosyasının içinde de aynı görevi görmek amacıyla kullanılabilirdi. Programı çalıştırmak için

 

javac Hosgeldiniz2t.java appletviewer Hosgeldiniz2.html


komutlarını konsolda (veya editör ortamında tanımlayarak) vermemiz yeterlidir. Elbette Hosgeldiniz2.html dosyasının yukarıda belirtildiği gibi hazırlanmış olması da gerekir. Fakat Konsol programlarından farklı olarak sonucu konsol yerine Applette (browser programında) görürüz. Aynı sonucu appletviewer deyimini kullanmadan herhangi bir browser programı çağırarak da elde edebiliriz. Browser programında sonucu görebilmek için önce programı açmamız sonra da HosgeldinizApplet.html dosyasını bularak açmamız gerekir. Çıktı görüntüsü aşağıdaki gibi olacaktır.

 

public class Hosgeldiniz2 extends JApplet deyimi Hosgeldiniz2 isimli sınıfı (class) yaratır. Bu sınıf tüm Applet sınıfının bir devamı olarak tanımlanmaktadır (extends JApplet) diğer bir deyimle JApplet sınıfının bütün metotları extends deyimiyle HosgeldinizApplet sınıfımızın içine kopyalanmıştır.


public void paint(Graphics g) deyimi appletin grafik olarak çizilmesini sağlar. Bu Metot Graphics sınıfı g nesnesini girdi olarak kullanır. Metotun çıktısı yoktur.


g.drawString("Java sinifina hos geldiniz!",10,10); Bu terim Appletin x =10, y=10 noktasına Java sinifina hos geldiniz! Yazısını çizer. DrawString Grafik sınıfı g nesnesine ait bir metotdur.


Bu programda temel grafik kütüphanesi olarak java swing kütüphanesi kullanılmıştır. ayrıca konsol programlarından farklı olarak bu programda main metodunun kullanılmadığına da dikkat ediniz. bir program hem applet hem de konsol olarak da oluşturulabilir, yani hem main metodu olabilir hem de applet (html) ortamında çalışabilir.
Aynı işi yapmak için bir çok değişik program yazdık. Bazılarımız buna ne gerek vardı, tek bir şekilde bu işi halledemezmi idik diyebilirler. Haklıdırlarda. Fakat modern bilgisayar dillerinde kullanıcıları da göz önüne almak durumundayız. Ve daha burada belirtmediğimiz pek çok farklı şekillerde de yapabiliriz. Aynı işi daha renkli ve çeşitli şekillerde yapmamız temel olarak program kullanıcılarına daha çeşitli alternatifler sunabilir. Aynı zamanda diğer programlama alternatiflerine göre daha üstün bir çalışma ortamı yaratabilir.
Şimdi de programımıza bir basamak daha ekleyelim ve program kullanıcılara isimlerini sorsun, yani ekrandan bir veri girelim. Bunu yapmak için ilk tanımlayacağımız program konsol ortamında çalışan Hosgeldiniz3.java programı olacaktır. Bu programın çıktısı dos konsol ortamında şekil 1.6 da görülmektedir. Program ekranda isminizi giriniz yazacak, ve ekranda isim girildikten sonra java sınıfına hosgeldiniz! isim çıktısını verecektir.

                                                           

Hosgeldiniz3.java dosyasının sonuçlarının dos çıktısı kullanarak görülmesi
=============================
C:\co\java\prog>java Hosgeldiniz2
isminizi giriniz :
Turhan
Java Sinifina Hos Geldiniz! Turhan
C:\co\java\prog>
=============================
Bu programda okuma işlemini yapmakiçin önce
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
Deyimini kullanarak bir okuma kanalı açtık, sonra
System.out.println("isminizi giriniz : ");
String isim=new String(cin.readLine());
Deyimindeki cin.readLine() komutuyla ismi cin kanalından okuyarak isim değişkenine aktardık.
Şimdi de swing kütüphanesindeki JOptionPane.showInputDialog() kullanarak girdi penceresi açan ve çıktı penceresine JoptionPane.showMessageDialog() kullanarak mesajı yazan Hosgeldiniz1SW.java programını göreceğiz.

 

                                                   

Bu programı çalıştırmak içinde
javac Hosgeldiniz4.java
komutuyla bu programı derlememiz ve
java Hosgeldiniz4
komutuyla çalıştırmamız gerekecektir. Program girdi ve çıktı pencereleri şekil 1.9ve Şekil 1.10 da verilmiştir.

 

Hosgeldiniz4.java dosyasının pencere popup girdi penceresi

                                                                               

HATA  MESAJLARI :

JOptionPane.ERROR_MESSAGE : hata mesajı
JoptionPane.WARNING_MESSAGE : uyarı mesajı
JoptionPane.QUESTION_MESSAGE : soru mesajı
JoptionPane.PLAIN_MESSAGE : sade (ikonsuz) mesaj

 

 

1 Yorum Yapıldı

  1. Genc OSman 2017-12-07 10:04:05

    Viyana kapısını zorlayan osmanlı gibiyim

Yorum Yollayın