530 likes | 763 Views
Bölüm 2 – Java Uygulamalarına Giriş.
E N D
Bölüm 2 – Java Uygulamalarına Giriş Outline2.1 Giriş2.2 Java’da İlk Programımız:Yazı Yazmak2.3 İlk Programda Değişiklik Yapma2.4 Yazıyı Diyalog Kutusunda Gösterme2.5 Başka bir Java Uygulaması: Sayılar Toplamı2.6 Bellek2.7 Aritmetik Operatörler2.8 Karar Verme: Eşitlik ve İlişkisel Operatörler
2.1 Giriş • Bu bölümde • Örnek programlarla Java’nın yapısını tanıyacaksınız. • İki çeşit program -uygulamalarve appletler
2.2 Java’da İlk Programımız:Yazı Yazmak • Uygulama • Program javayorumlayıcısı ile çalışır. • Örnek program • Programı göster, sonra satır satır analiz et
1 // Fig. 2.1: Welcome1.java 2 // Text-printing program. 3 4 public class Welcome1 { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // end method main 12 13 } // end class Welcome1 Welcome1.javaProgram Output Welcome to Java Programming!
1 // Fig. 2.1: Welcome1.java 2 // Text-printing program. 2.2 Java’da İlk Programımız:Yazı Yazmak • 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. */ • Başka bir açıklama tipi • Not: satır numaraları programın bir parçası değildir.Referans verilsin amaçlı yazılmışlardır.
3 4 public class Welcome1 { 2.2 Basit bir Program: Bir satıra Yazı Yazmak • Boşsatır • Programın okunabilirliğini artırmak için • Boş satırlar, boşluklar, ve tablar white-space karakterlerdir. • Derleyici tarasından iptal edilirler. • Welcome1sı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 • classanahtar kelimesisınıf adını takip eder. • Sınıfları isimlendirmek: Her kelimenin baş harfini büyük yaz • SampleClassName
4 public class Welcome1 { 2.2 Basit bir Program: Bir satıra Yazı Yazmak • 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: Welcome1, $value, _value, button7 • 7buttonsınıf ismi olamaz. • Java dili büyük küçük harf ayrımı yapar. • a1veA1farklıdır. • Bölüm 2 ‘den 7 ‘ye kadar, public keyword kullanılr. • Şuan için bu konuyu atlıyoruz. • İleriki konularda anlatılacaktır.
4 public class Welcome1 { 7 public static void main( String args[] ) 2.2 Basit bir Program: Bir satıra Yazı Yazmak • Programı kaydetme • Dosya ismi sınıf ismi ile aynı adda ve dosya türü.javaolarak kaydedilmeli. • Welcome1.java • Solayraç{ • Her sınıfın gövde kodları için başlar. • Sağ ayraç ile gövde kodu biter (satır 13) • Bütün Java uygulamalarında olur. • Uygulamalar mainile programa başlar. • Parentezle mainbir metod olduğunu gösterir. (ch. 6) • Java uygulamaları bir yada daha fazla metod içerebilirler.
7 public static void main( String args[] ) 8 { 2.2 Basit bir Program: Bir satıra Yazı Yazmak • Sadece bir metodun ismimainolabilir. • Methods belirtilen görevleri yaparlar ve geriye değer dönderirler. • Void,mainmetodunın hiçbir bilgi geri döndermediği anlamındadır. • Şimdilik, main metodu ilk satırda yer alıyor. • Solayraçmetodun gövde kısmını başlatır. • Sağ ayraç ile biter} (satır 11)
9 System.out.println( "Welcome to Java Programming!" ); 2.2 Basit bir Program: Bir satıra Yazı Yazmak • Bir komutun bilgisayar tarafından gerçekleşmesini sağlar. • String karakteri yazmak • String – çift tırmak 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.;
11 } // end method main 13 } // end class Welcome1 2.2 Basit bir Program: Bir satıra Yazı Yazmak • Metod gövdesinin sonu • Sınıf gövdesininsonu • Komuttan sonra açıklamalar önceki slaytlarda anlatıldığı gibi yazılabilir.
2.2 Basit bir Program: Bir satıra Yazı Yazmak • Programı Derlemek • Komut penceresi açılır ve programın kayıtlı olduğu klasöre gelinir. • javacWelcome1.java • Hata yok ise, Welcome1.classoluşur. • Bytecode lar uygulamayı gösterirler. • Bytecode lar Java yorumlayıcısına geçer.
2.2 Basit bir Program: Bir satıra Yazı Yazmak • Programı Çalıştırma • javaWelcome1yazılır. • YorumlayıcıWelcome1sınıf için.classdosyalarını yükler • .classuzantısı kaldırılır. • Yorumlayıcı mainmetodunu çağırır. Fig. 2.2 Executing Welcome1 in a Microsoft Windows 2000 Command Prompt.
2.3 İlk Java Programımızda Değişiklik Yapma Fig. 2.1 deki programın içeriği aynı kalmak şartı ile kodalrı değiştirelim.
9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" ); 2.3 İlk Java Programımızda Değişiklik Yapma • Programda Değişiklik • Welcome2.java (Fig. 2.3) aynı çıktıyı üretir Welcome1.java (Fig. 2.1) olduğu gibi. • Farklı kod kullanma • Satır 9 “Welcome to ” yazısını imlecin bulunduğu yerden itibaren yazmaya başlar. • Line 10 “Java Programming! ” yazısını imlecin bulunduğu yerden itibaren yazar ve sonra imleç satır başına geçer.
System.out.print keeps the cursor on the same line, so System.out.printlncontinues on the same line. 1 // Fig. 2.3: Welcome2.java 2 // Printing a line of text with multiple statements. 3 4 public class Welcome2 { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" ); 11 12 } // end method main 13 14 } // end class Welcome2 Welcome2.java1. Comments2. Blank line3. Begin class Welcome23.1 Method main4. Method System.out.print4.1 Method System.out.println5. end main,Welcome2Program Output Welcome to Java Programming!
9 System.out.println( "Welcome\nto\nJava\nProgramming!" ); 2.3 İlk Java Programımızda Değişiklik Yapma • Yeni satırkarakteri (\n) • Metod tarafından “özelkarakter” olarak tanımlanır. • System.out.printveSystem.out.println • Welcome3.java (Fig. 2.4) • Satır \n sonra kırılır. • Kullanımı • System.out.printlnveyaSystem.out.printkomutlarını yeni bir satır oluşturmak için kullanılabilir. • System.out.println("Welcome\nto\nJava\nProgramming!" );
Notice how a new line is output for each \n escape sequence. 1 // Fig. 2.4: Welcome3.java 2 // Printing multiple lines of text with a single statement. 3 4 public class Welcome3 { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome\nto\nJava\nProgramming!" ); 10 11 } // end method main 12 13 } // end class Welcome3 Welcome3.java1. main2. System.out.println (uses \n for new line)Program Output Welcome to Java Programming!
2.3 İlk Java Programımızda Değişiklik Yapma Escape karakterler • Backslash ( \ ) • Özelkarakterleri çıktıda görebilmek için
2.4 Dialog Kutusunda Yazıyı Gösterme • Gösterme • Birçok Java uygulamasıpencereleri yada diyalog kutularını kullanır. • Biz komut penceresini kullandık. • JOptionPanesı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. • JOptionPanejavax.swing paketinin içinde yer alır. • Bu paket Graphical User Interfaces (GUIs) sınıflarının bulunduğu pakettir.
2.4 Dialog Kutusunda Yazıyı Gösterme • Program • Uygulama dialog kutularını kullanır • Açıklamalar daha sonra yapılacak. • Başka bir yol ile de program gösterilecek. • Paketler, metodlarve GUI
1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args] ) 7 { 8 JOptionPane.showMessageDialog( 9 null, "Welcome\nto\nJava\nProgramming!" ); 10 11 System.exit( 0 ); // terminate the program 12 } 1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box. 3 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane 6 7 public class Welcome4 { 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); 14 15 System.exit( 0 ); // terminate application with window 16 17 } // end method main 18 19 } // end class Welcome4 Welcome4.java1. import declaration2. Class Welcome42.1main2.2showMessageDialog2.3 System.exitProgram Output
4 // Java packages 5 import javax.swing.JOptionPane; // program uses OptionPane 2.4 Dialog Kutusunda Yazıyı Gösterme • Satır 1-2: yorum • Java API de iki grup paket vardır. • Çekirdekpaketler • javaile başlar. • Java 2 Software Development Kit • Kabukpaketler • javaxile başlar. • Yeni Java paketleri • importtanımlaması • Derleyici tarafından sınıfı belleğe yüklemek için kullanılır. • Derleyici JOptionPanesınıfını javax.swingpaketinden alır ve kullanır.
12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); 2.4 Dialog Kutusunda Yazıyı Gösterme • Lines 6-11: Boş satır, Sınıf başlangıcıWelcome4vemain • JOptionPanesınıfının showMessageDialogmetodunu ç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ı • showMessageDialogstaticbir metoddur. • static methodlar sınıf isminden sonra nokta (.) konularak metod ismi yazılır.
2.4 Dialog Kutusunda Yazıyı Gösterme • Bütüncümleler ;ile biter • Tek cümle birden fazla satıra ayrılabilir. • Değişken yada textlerin ortasında ayırmamal lazım. • 12.ve 13. satırlardiyalog kutusunu çalıştırır. • OKbutonu otomatik olarak çıkar. • Başlık kısmında strin ifadeMessagevardır.
15 System.exit( 0 ); // terminate application with window 2.4 Dialog Kutusunda Yazıyı Gösterme • Systemsı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. • Staticmetod olduğundan,sınıf isminden sonra (.) koymaya ihtiyaç var. • Parametre değeri0programın başarı ile bittiğini gösterir. • 0 dan farklı değer programda hata oluştuğunu gösterir • SınıfSystemjava.langpaketindendir. • importtanımına gerek yoktur. • java.langpaketi otomatik olarak her Java programına dahil edilir. • Satır 17-19: Ayraçla metod ve sınıfın bittiğini gösterir.Welcome4vemain
2.5 Başka bir Java Uygulaması:Sayı Toplamı • Program • Input diyalog kutularını kullanarak kullanıcıdan iki değer almak • Mesaj diyalog kullanarak iki değerin toplamını göstermek
Declare variables: name and type. Input first integer as a String, assign to firstNumber. Convert strings to integers. Add, place result in sum. 1 // Fig. 2.9: Addition.java 2 // Addition program that displays the sum of two numbers. 3 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane 6 7 public class Addition { 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( "Enter first integer" ); 21 22 // read in second number from user as a String 23 secondNumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); 25 26 // convert numbers from type String to type int 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber ); 29 30 // add numbers 31 sum = number1 + number2; 32 Addition.java1. import2. class Addition2.1 Declare variables (name and type)3. showInputDialog4. parseInt5. Add numbers, put result in sum
33 // display result 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); 36 37 System.exit( 0 ); // terminate application with window 38 39 } // end method main 40 41 } // end class Addition Program output
5 import javax.swing.JOptionPane; // program uses JOptionPane 7 public class Addition { 12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Programda kullanmak için JOptionPanesınıfı dahil edildi • Additionsınıfıpublicolarak tanımlandı. • Dosyanın ismiAddition.javaolmalı • Satır 10-11: main • Tanımlama • firstNumbervesecondNumberdeğişkenleri
String firstNumber, secondNumber; 12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user 2.5 Başka bir Java Uygulaması:Sayı Toplamı • 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. • firstNumbervesecondNumberdeğişkenlerinin tipleriString (package java.lang) • String değerler tutarlar. • Tanımlama noktalı virgül ile son bulur; • 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.
15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Değişken tanımlamanumber1, number2, vesum(tipleriint) • int integer değerleri tutar : i.e., 0, -4, 97 • floatvedouble desimal değerler tutar. • chartek karakter tutar: i.e., x, $, \n, 7
20 firstNumber = JOptionPane.showInputDialog( "Enter first integer" ); 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Kullanıcıdan gelen String değeri alma • Method JOptionPane.showInputDialogaşağıdaki gibi görünür: • Kullanıcıya verilecek mesaj • Eğer yanlış tipte veri girişi yapılırsa veya Canceltıklanırsa, hata oluşur.
20 firstNumber = JOptionPane.showInputDialog( "Enter first integer" ); 2.5 Başka bir Java Uygulaması:Sayı Toplamı • showInputDialogdan dönen sonuç firstNumberdeğişkenine = operatörü ile atılıyor. • = binary operator –eşitlik iki taraflı • Değer sağdan sola atanır. • firstNumberdeğeriniJOptionPane.showInputDialog( "Enter first integer" )alır
23 secondNumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber ); 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Bir önceki satıra benzer işlem var • secondNumberikinci input değerini alıyor • Method Integer.parseInt • Stringdeğeri integer değere çevirir. (type int) • Integersınıfı java.langpaketinde bulunuyor • Integer.parseIntdönen değernumber1 değişkenine atanıyor.(satır 27) • number1inttipte tanımlanmıştı • Satır 28 benzer
31 sum = number1 + number2; 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Assignment statement • number1venumber2toplamını hesaplar (right hand side)
34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); 2.5 Başka bir Java Uygulaması:Sayı Toplamı • showMessageDialogkullanılarak sonıç gösterilir. • "Thesumis"+sum • + operatörü"Thesumis"ve sumbirbirine ekler. • BirStringve başka bir veri tipinin birleşmesi • Sonuç yeni bir string • Eğer sum içi 117olsa idi, "Thesumis"+sumsonucu"Thesumis117“olarak gözükecekti.
34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); 2.5 Başka bir Java Uygulaması:Sayı Toplamı • Farklı veriyonları var :showMessageDialog • 4 parametre var (2 parametre yerine) • Birinci parametre: nullşimdilik • İkinci: String ifade • Üçüncüsü: Başlıkta gözükecek string • Dördüncüsü: Iconun tipi • Satır 35 icon yok: JOptionPane.PLAIN_MESSAGE
2.6 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.
sum 0 sum 3 2.6Bellek • Görsel Gösterimi • Sum = 0; number1 = 1; number2 = 2; • Sum = number1 + number2; komut çalıştıktan sonra
2.7 Aritmetik • Aritmetik hesaplamalar çoğu programda kullanılır. • Kullanım • *çarpım • /bölüm • +, - • Üstlü ifadeler için operatör yoktur (Bak bölüm 5) • Tamsayı bölümü kalanı yok sayar. 7 / 5=1 • Mod operatörü%kalanı geri dönderir. 7 % 5=2
2.7 Aritmetik • Operatör öncelikleri • Bazı aritmatik operatörlerin diğerlerine göre önceliği vardır. (i.e., * önceliklidir + ‘dan ) • İhtiyaç oldukça parantez kullanın. • Örnek:a,bvecdeğişkenlerinin aritmetik ortalamasını bulun • Bu şekilde hesaplamayın: a + b + c / 3 • Doğru: ( a + b + c ) / 3 • Sıra • Parentez, Üslü ifade,Çarpım, Bölüm, Toplama, Çıkarma
2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler • ifkontrol deyimi • Bu bölümde basit kısmı , sonraki bölümlerde daha detaylı • Eğer şart kısmı doğru ise,ifdeyiminin gövde kodları çalışır. • 0 false olarak yorumlanır, 0 dan başka değerise true olarak yorumlanır • ifden sonra her zaman şart aranır. • Şart kısmı eşitlikte olabilir yada ilişkisel operatörde olabilir. if ( condition ) statement executed if condition true • Noktalı virgül koyulmaz şarttan sonra
1 // Fig. 2.20: Comparison.java 2 // Compare integers using if statements, relational operators 3 // and equality operators. 4 5 // Java packages 6 import javax.swing.JOptionPane; 7 8 public class Comparison { 9 10 // main method begins execution of Java application 11 public static void main( String args[] ) 12 { 13 String firstNumber; // first string entered by user 14 String secondNumber; // second string entered by user 15 String result; // a string containing the output 16 17 int number1; // first number to compare 18 int number2; // second number to compare 19 20 // read first number from user as a string 21 firstNumber = JOptionPane.showInputDialog( "Enter first integer:" ); 22 23 // read second number from user as a string 24 secondNumber = 25 JOptionPane.showInputDialog( "Enter second integer:" ); 26 27 // convert numbers from type String to type int 28 number1 = Integer.parseInt( firstNumber ); 29 number2 = Integer.parseInt( secondNumber ); 30 31 // initialize result to empty String 32 result = ""; 33 Comparison.java1. import2. Class Comparison2.1 main2.2 Declarations2.3 Input data (showInputDialog)2.4 parseInt2.5 Initialize result
Test for equality, create new string, assign to result. Notice use of JOptionPane.INFORMATION_MESSAGE 34 if ( number1 == number2 ) 35 result = result + number1 + " == " + number2; 36 37 if ( number1 != number2 ) 38 result = result + number1 + " != " + number2; 39 40 if ( number1 < number2 ) 41 result = result + "\n" + number1 + " < " + number2; 42 43 if ( number1 > number2 ) 44 result = result + "\n" + number1 + " > " + number2; 45 46 if ( number1 <= number2 ) 47 result = result + "\n" + number1 + " <= " + number2; 48 49 if ( number1 >= number2 ) 50 result = result + "\n" + number1 + " >= " + number2; 51 52 // Display results 53 JOptionPane.showMessageDialog( null, result, "Comparison Results", 54 JOptionPane.INFORMATION_MESSAGE ); 55 56 System.exit( 0 ); // terminate application 57 58 } // end method main 59 60 } // end class Comparison Comparison.java3. if statements4. showMessageDialog
13 String firstNumber, 14 secondNumber, 15 result; 2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler • Satır 1-12: Açıklama, importJOptionPane, Comparisonsınıfına başlangıç ve main • Satır 13-18: değişken tanımlama • Aynı veri tipli değişkenler tanımlanacak ise virgül ile ayrılarak bir defada tanımlanabilir. • Satır 21-30: kullanıcıdan girişleri alınır ve integer değerler string’e çevrilir.