Java Uygulamaları Konsol Uygulaması
Menü de ne var ? 2.1 Giriş 2.2 Java’da İlk Programımız: Yazı Yazmak 2.3 İlk Programda Değişiklik Yapma 2.4 Yazıyı Diyalog Kutusunda Gösterme 2.5 Başka bir Java Uygulaması: Sayılar Toplamı 2.6 Bellek 2.7 Aritmetik Operatörler 2.8 Karar Verme: Eşitlik ve İlişkisel Operatörler
Çalışanlar Federasyonu
Program parçasının incelenmesi Açıklamalar için kullanılan işaret: // Açıklamalar program çalıştırılırken iptal edilir. Kodların açıklanması için yararlıdır. Kodların okunabilirliğini artırır. Geleneksel açıklamalar: /* ... */ /* Bu geleneksel bir açıklama türüdür.Birden fazla satırı kapsar. */ Not: satır numaraları programın bir parçası değildir.Referans verilsin amaçlı yazılmışlardır.
Program parçasının incelenmesi Boş satır Programın okunabilirliğini artırmak için Boş satırlar, boşluklar, ve tablar white-space karakterlerdir. Derleyici tarafından iptal edilirler. hosgeldin sınıfı için sınıf tanımlaması yapar. Her Java programı en az bir tane kullanıcı tanımlı sınıfa sahiptir. Keyword (Anahtar kelimeler): Java’nın programda kullandığı kelimeler class anahtar kelimesi sınıf adını takip eder. Sınıfları isimlendirmek: Her kelimenin baş harfini büyük yaz SampleClassName
Program parçasının incelenmesi Sınıf ismi identifier (tanımlayıcı) olarak çağrılır. Harfler, rakamlar,altçizgi ( _ ) ve dolar işareti ( $ ) kullanılabilir. Rakam ile başlayamaz ve boşluk bırakılamaz. Örnek: Merhaba, $meraba, _heyyy, BenGeldim !! 2Btp sınıf ismi olamaz. Java dili büyük küçük harf ayrımı yapar. !! a1 ve A1 farklıdır. public keyword (anahtar kelime). Şuan için bu konuyu atlıyoruz. İleriki konularda anlatılacaktır.
Program parçasının incelenmesi Programı kaydetme Dosya ismi sınıf ismi ile aynı adda ve dosya türü.java olarak kaydedilmeli. hosgeldin.java Sol ayraç { Her sınıfın gövde kodları için başlar. Sağ ayraç ile gövde kodu biter (satır 19) Bütün Java uygulamalarında olmak zorunda. !! Uygulamalar main ile programa başlar. Parentezler main’in bir metod olduğunu gösterir. Java uygulamaları bir yada daha fazla metod içerebilirler.
Program parçasının incelenmesi Sadece bir metodun ismi main olabilir. Metodlar belirtilen görevleri yaparlar ve geriye değer dönderirler. Void, main metodunun hiçbir bilgi geri döndermediğini anlamındadır. Şimdilik, main metodu ilk satırda yer alıyor. Sol ayraç metodun gövde kısmını başlatır. Sağ ayraç ile biter } (satır 18)
Program parçasının incelenmesi Bir komutun bilgisayar tarafından gerçekleşmesini sağlar. String karakteri yazmak String – çift tırnak içinde yazılır. !! Tırnak içindeki boşluklar derleyici tarafından iptal edilemez. System.out Standard output objesi Pencereye komutu yazar.(i.e., MS-DOS prompt) Metod System.out.println Yazıyı yazar. Yazı parantez içinde yazılır. Bu satır statement olarak tanımlanır Statementlar noktalı virgül ile biter. ;
Statement deyim, komut. Belirli bir programlama dilinin bağlamında bir işlemi tanımlayan ya da betimleyen anlamlı ifade. Üst düzey dilde yazılmış bir programdaki komut; böyle bir komut çok sayıda alt düzeydeki makine komutuna karşılık düşer. Bir işleç, bir ya da daha fazla işlenenden oluşan dildeki sözdizimsel birim. (Fra. instruction)
Program parçasının incelenmesi Metod gövdesinin sonu ( satır 18 ) Sınıf gövdesinin sonu ( satır 19 ) Komuttan sonra açıklamalar üstte anlatıldığı gibi 2 şekilde yazılabilir. ??
Programın çıktısı
Programı derlemek Programı Derlemek Komut penceresi açılır ve programın kayıtlı olduğu klasöre gelinir. javac hosgeldin.java Hata yok ise, hosgeldin.class oluşur. Bytecode lar uygulamayı gösterirler. Bytecode lar Java yorumlayıcısına geçer.
Programı çalıştırmak Programı Çalıştırma java hosgeldin yazılır. Yorumlayıcı hosgeldin sınıf için .class dosyalarını yükler .class uzantısı kaldırılır. Yorumlayıcı main metodunu çağırır.
Programda değişiklik yapma Konsol çıktısının düzenlenmesi A) Aynı satıra yazdırma B) yeni satıra yazdırma C) aynı metod içinde satır atlayarak yazdırma D) tab kadar boşluk bırakma E) \ kullanma F) tırnak içinde yazma
A) Aynı satıra yazma
B) yeni satıra yazma
C) aynı metod içinde satır atlayarak yazdırma
D) tab kadar boşluk bırakma
E) \ kullanma
F) tırnak içinde yazma
Yazıda özel karakterler Escape karakterler Backslash ( \ ) Özel karakterleri çıktıda görebilmek için \n => yeni satır \t => tab \” => tırnak işareti \\ => ters slash
Mesaj Kutusu Gösterme Paketler Birçok Java uygulaması pencereleri yada diyalog kutularını kullanır. Biz komut penceresini kullandık. JOptionPane sınıfı diyalog kutularını kullanmamızı sağlayacak. Paketler Önceden tanımlanmış sınıflardan oluşur. Aynı amaçlı sınıfların toplandığı yere paketler denir. Bütün paketlerin adına Java sınıf kütüphanesi yada Java applications programming interface (Java API) denir. JOptionPane javax.swing paketinin içinde yer alır. Bu paket Graphical User Interfaces (GUIs) sınıflarının bulunduğu pakettir.
Mesaj Kutusu 1 // paketleri dahil et 2 import javax.swing.JOptionPane; 3 4 public class mesajKutusu { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 JOptionPane.showMessageDialog( 10 null, “Java\n dünyasına\nmerhaba” ); 11 12 System.exit( 0 ); // terminate application with window 13 14 } // end method main 15 } // end class mesajKutusu
Mesaj Kutusu Java API de iki grup paket vardır. Çekirdek paketler 1 // paketleri dahil et 2 import javax.swing.JOptionPane; Java API de iki grup paket vardır. Çekirdek paketler java ile başlar. Java 2 Software Development Kit Kabuk paketler javax ile başlar. Yeni Java paketleri -import tanımlaması Derleyici tarafından sınıfı belleğe yüklemek için kullanılır. Derleyici JOptionPane sınıfını javax.swing paketinden alır ve kullanır.
Mesaj Kutusu 9 JOptionPane.showMessageDialog( 10 null, “Java\n dünyasına\nmerhaba” ); JOptionPane sınıfının showMessageDialog metodunu çağırması İki parametresi vardır. Biden fazla parametre birbirinden virgül (,) ile ayrılır Şimdilik birinci parametre değeri null İkinci parametre ekrana yazılacak yazı showMessageDialog static bir metoddur. static methodlar sınıf isminden sonra nokta (.) konularak metod ismi yazılır.
Mesaj Kutusu Bütün cümleler ; ile biter Tek cümle birden fazla satıra ayrılabilir. Değişken yada textlerin ortasında ayırmamak lazım. 9 ve 10. satırlar diyalog kutusunu çalıştırır. OK butonu otomatik olarak çıkar. Başlık kısmında string ifade Message vardır.
Mesaj Kutusu System sınıfının static metodu olan exit çağrılır. Uygulamayı sonlandırır. GUI gösterecek bütün uygulamalarda yazılır. Static metod olduğundan ,sınıf isminden sonra (.) koymaya ihtiyaç var. Parametre değeri 0 programın başarı ile bittiğini gösterir. 0 dan farklı değer programda hata oluştuğunu gösterir Sınıf System java.lang paketindendir. import tanımına gerek yoktur. java.lang paketi otomatik olarak her Java programına dahil edilir. Satır 17-19: Ayraçla metod ve sınıfın bittiğini gösterir.
Kullanıcıdan değer alma(input) Program Input diyalog kutularını kullanarak kullanıcıdan iki değer almak Mesaj diyalog kullanarak iki değerin toplamını göstermek
Kullanıcıdan değer alma(input) 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane 6 7 public class Toplama { 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user 14 15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2 18 19 // read in first number from user as a String 20 firstNumber = JOptionPane.showInputDialog( “ilk değeri giriniz" ); 21 22 // read in second number from user as a String 23 secondNumber = 24 JOptionPane.showInputDialog( “2.değeri giriniz" ); 25 26 // convert numbers from type String to type int 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber );
Kullanıcıdan değer alma(input) 30 // sayıları topla 31 sum = number1 + number2; 32 33 // sonucu göster 34 JOptionPane.showMessageDialog( null, “Toplam = " + sum,“Toplam Sonucu", JOptionPane.PLAIN_MESSAGE ); 36 37 System.exit( 0 ); // terminate application with window 38 39 } // end metod main 40 41 } // end class topla
Kullanıcıdan değer alma(input) çıktı
Kullanıcıdan değer alma(input) 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane Programda kullanmak için JOptionPane sınıfı dahil edildi public class Toplama { Toplama sınıfı public olarak tanımlandı. Dosyanın ismi Toplama.java olmalı 10 public static void main( String args[] ) { - Satır 10-11: main mtodu 12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user 14 15 int number1; // first number to add Tanımlama firstNumber ve secondNumber değişkenleri ?? İnteger number1,… değişkenleri
Kullanıcıdan değer alma(input) Değişkenler Bellekte bir değer tutmak için yer ayrılır. Kullanılmadan önce ismi ve tipi ile tanımlanması lazımdır. firstNumber ve secondNumber değişkenlerinin tipleri String (package java.lang) String değerler tutarlar. Tanımlama noktalı virgül ile son bulur ; 12 String firstNumber,secondNumber; // Kullanıcıdan alınacak 1. ve 2. sayılar Aynı tipteki birden fazla değişken aynı satırda tanımlanabilir. Değişkenler birbirinden virgül ile ayrılırlar. Değişkenlerin amaçlarını açıklama satırları ile yanlarına yazabiliriz.
Kullanıcıdan değer alma(input) 33 // sonucu göster JOptionPane.showMessageDialog( null, “Toplam = " + sum,“Toplam Sonucu", JOptionPane.PLAIN_MESSAGE ); showMessageDialog kullanılarak sonuç gösterilir. “Toplam =" + sum + operatörü “Toplam=" ve sum birbirine ekler. Bir String ve başka bir veri tipinin birleşmesi Sonuç yeni bir string Eğer sum içi 11 olsa idi, “Toplam " + sum sonucu “Toplam= 11“ olarak gözükecekti.
Kullanıcıdan değer alma(input) 33 // sonucu göster JOptionPane.showMessageDialog( null, “Toplam = " + sum,“Toplam Sonucu", JOptionPane.PLAIN_MESSAGE ); Farklı versiyonları var : showMessageDialog 4 parametre var (2 parametre yerine) Birinci parametre: null şimdilik İkinci: String ifade ,görünecek yazı Üçüncüsü: Başlıkta gözükecek string Dördüncüsü: Ikonun tipi Satır 34 icon yok: JOptionPane.PLAIN_MESSAGE
Kullanıcıdan değer alma(input)
Değişkenler ve bellek Değişkenler Her değişkenin bir ismi, bir tipi, bir genişliği ve değeri olmalı Değişkenin ismi bellekteki yerine karşılık gelir. Değişkene yeni bir değer atandığı zaman bir önceki silinir yerine yeni değer gelir. Bellekten değişkenlerin değerlerini okumak onların değerlerine bir değişiklik yapmaz.
Değişkenler ve bellek Görsel Gösterimi toplam = 0; sayi1 = 1; sayi2 = 2; toplam = sayi1 + sayi2; komut çalıştıktan sonra toplam toplam 3