53
Bölüm 2 – Java Uygulamalarına Giriş Outline 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

Bölüm 2 – Java Uygulamalarına Giriş

Embed Size (px)

DESCRIPTION

Bölüm 2 – Java Uygulamalarına Giriş. - PowerPoint PPT Presentation

Citation preview

Page 1: Bölüm  2 –  Java Uygulamalarına Giriş

Bölüm 2 – Java Uygulamalarına Giriş

Outline2.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ö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

Page 2: Bölüm  2 –  Java Uygulamalarına Giriş

2.1 Giriş

• Bu bölümde– Örnek programlarla Java’nın yapısını tanıyacaksınız.

– İki çeşit program - uygulamalar ve appletler

Page 3: Bölüm  2 –  Java Uygulamalarına Giriş

2.2 Java’da İlk Programımız: Yazı Yazmak

• Uygulama– Program java yorumlayıcısı ile çalışır.

• Örnek program– Programı göster, sonra satır satır analiz et

Page 4: Bölüm  2 –  Java Uygulamalarına Giriş

Welcome1.java

Program Output

1 // Fig. 2.1: Welcome1.java2 // Text-printing program.3 4 public class Welcome1 { 5 6 // main method begins execution of Java application7 public static void main( String args[] )8 {9 System.out.println( "Welcome to Java Programming!" );10 11 } // end method main12 13 } // end class Welcome1

Welcome to Java Programming!

Page 5: Bölüm  2 –  Java Uygulamalarına Giriş

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.

1 // Fig. 2.1: Welcome1.java

2 // Text-printing program.

Page 6: Bölüm  2 –  Java Uygulamalarına Giriş

– 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.

– Welcome1 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

2.2 Basit bir Program: Bir satıra Yazı Yazmak

3

4 public class Welcome1 {

Page 7: Bölüm  2 –  Java Uygulamalarına Giriş

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– 7button sınıf ismi olamaz.

• Java dili büyük küçük harf ayrımı yapar.

– a1 ve A1 farklı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 {

Page 8: Bölüm  2 –  Java Uygulamalarına Giriş

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ü.java

olarak kaydedilmeli. • Welcome1.java

– Sol ayraç {• 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 main ile programa başlar.

– Parentezle main bir metod olduğunu gösterir. (ch. 6)– Java uygulamaları bir yada daha fazla metod içerebilirler.

4 public class Welcome1 {

7 public static void main( String args[] )

Page 9: Bölüm  2 –  Java Uygulamalarına Giriş

2.2 Basit bir Program: Bir satıra Yazı Yazmak

• Sadece bir metodun ismi main olabilir.

– Methods belirtilen görevleri yaparlar ve geriye değer dönderirler.• Void, main metodunın hiçbir bilgi geri döndermediği

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 11)

7 public static void main( String args[] )

8 {

Page 10: Bölüm  2 –  Java Uygulamalarına Giriş

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. ;

9 System.out.println( "Welcome to Java Programming!" );

Page 11: Bölüm  2 –  Java Uygulamalarına Giriş

2.2 Basit bir Program: Bir satıra Yazı Yazmak

– Metod gövdesinin sonu

– Sınıf gövdesinin sonu

– Komuttan sonra açıklamalar önceki slaytlarda anlatıldığı gibi yazılabilir.

11 } // end method main

13 } // end class Welcome1

Page 12: Bölüm  2 –  Java Uygulamalarına Giriş

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.

– javac Welcome1.java– Hata yok ise, Welcome1.class oluşur.

• Bytecode lar uygulamayı gösterirler.

• Bytecode lar Java yorumlayıcısına geçer.

Page 13: Bölüm  2 –  Java Uygulamalarına Giriş

2.2 Basit bir Program: Bir satıra Yazı Yazmak

• Programı Çalıştırma– java Welcome1 yazılır.

• Yorumlayıcı Welcome1 sınıf için .class dosyalarını yükler

• .class uzantısı kaldırılır.

– Yorumlayıcı main metodunu çağırır.

Fig. 2.2 Executing Welcome1 in a Microsoft Windows 2000 Command Prompt.

Page 14: Bölüm  2 –  Java Uygulamalarına Giriş

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.

Page 15: Bölüm  2 –  Java Uygulamalarına Giriş

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.

9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" );

Page 16: Bölüm  2 –  Java Uygulamalarına Giriş

Welcome2.java

1. Comments

2. Blank line

3. Begin class Welcome2

3.1 Method main

4. Method System.out.print

4.1 Method System.out.println

5. end main, Welcome2

Program Output

Welcome to Java Programming!

1 // Fig. 2.3: Welcome2.java2 // Printing a line of text with multiple statements.3 4 public class Welcome2 {5 6 // main method begins execution of Java application7 public static void main( String args[] )8 {9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" );11 12 } // end method main13 14 } // end class Welcome2

System.out.print keeps the cursor on the same line, so System.out.println continues on the same line.

Page 17: Bölüm  2 –  Java Uygulamalarına Giriş

2.3 İlk Java Programımızda Değişiklik Yapma

• Yeni satır karakteri (\n)– Metod tarafından “özel karakter” olarak tanımlanır.

– System.out.print ve System.out.println– Welcome3.java (Fig. 2.4)

– Satır \n sonra kırılır.

• Kullanımı– System.out.println veya System.out.print

komutlarını yeni bir satır oluşturmak için kullanılabilir.

– System.out.println( "Welcome\nto\nJava\nProgramming!" );

9 System.out.println( "Welcome\nto\nJava\nProgramming!" );

Page 18: Bölüm  2 –  Java Uygulamalarına Giriş

Welcome3.java

1. main

2. System.out.println (uses \n for new line)

Program Output

1 // Fig. 2.4: Welcome3.java2 // Printing multiple lines of text with a single statement.3 4 public class Welcome3 {5 6 // main method begins execution of Java application7 public static void main( String args[] )8 {9 System.out.println( "Welcome\nto\nJava\nProgramming!" );10 11 } // end method main12 13 } // end class Welcome3

WelcometoJavaProgramming!

Notice how a new line is output for each \n escape sequence.

Page 19: Bölüm  2 –  Java Uygulamalarına Giriş

2.3 İlk Java Programımızda Değişiklik Yapma

Escape karakterler– Backslash ( \ )

– Özel karakterleri çıktıda görebilmek içinEscape sequence

Description

\n Newline. Position the screen cursor at the beginning of the next line.

\t Horizontal tab. Move the screen cursor to the next tab stop. \r Carriage return. Position the screen cursor at the beginning of

the current line; do not advance to the next line. Any characters output after the carriage return overwrite the characters previously output on that line.

\\ Backslash. Used to print a backslash character. \" Double quote. Used to print a double-quote character. For

example, System.out.println( "\"in quotes\"" ); displays "in quotes"

Fig. 2.5 Some common escape sequences.

Page 20: Bölüm  2 –  Java Uygulamalarına Giriş

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.

– 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.

Page 21: Bölüm  2 –  Java Uygulamalarına Giriş

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, metodlar ve GUI

Page 22: Bölüm  2 –  Java Uygulamalarına Giriş

Welcome4.java

1. import declaration

2. Class Welcome4

2.1 main

2.2 showMessageDialog

2.3 System.exit

Program Output

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.java2 // Printing multiple lines in a dialog box.3 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane6 7 public class Welcome4 {8 9 // main method begins execution of Java application10 public static void main( String args[] )11 {12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" );14 15 System.exit( 0 ); // terminate application with window16 17 } // end method main18 19 } // end class Welcome4

Page 23: Bölüm  2 –  Java Uygulamalarına Giriş

2.4 Dialog Kutusunda Yazıyı Gösterme

– Satır 1-2: yorum

– 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.

4 // Java packages

5 import javax.swing.JOptionPane; // program uses OptionPane

Page 24: Bölüm  2 –  Java Uygulamalarına Giriş

2.4 Dialog Kutusunda Yazıyı Gösterme

– Lines 6-11: Boş satır, Sınıf başlangıcı Welcome4 ve main

– 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.

12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" );

Page 25: Bölüm  2 –  Java Uygulamalarına Giriş

2.4 Dialog Kutusunda Yazıyı Gösterme

– Bütün cü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ırlar diyalog kutusunu çalıştırır.

• OK butonu otomatik olarak çıkar.

• Başlık kısmında strin ifade Message vardır.

Page 26: Bölüm  2 –  Java Uygulamalarına Giriş

2.4 Dialog Kutusunda Yazıyı Gösterme

– 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. Welcome4 ve main

15 System.exit( 0 ); // terminate application with window

Page 27: Bölüm  2 –  Java Uygulamalarına Giriş

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

Page 28: Bölüm  2 –  Java Uygulamalarına Giriş

Addition.java

1. import

2. class Addition

2.1 Declare variables (name and type)

3. showInputDialog

4. parseInt

5. Add numbers, put result in sum

1 // Fig. 2.9: Addition.java2 // Addition program that displays the sum of two numbers.3 4 // Java packages 5 import javax.swing.JOptionPane; // program uses JOptionPane6 7 public class Addition {8 9 // main method begins execution of Java application10 public static void main( String args[] )11 {12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user14 15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number218 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 int27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber ); 29 30 // add numbers 31 sum = number1 + number2;32

Declare variables: name and type.

Input first integer as a String, assign to firstNumber.

Add, place result in sum.

Convert strings to integers.

Page 29: Bölüm  2 –  Java Uygulamalarına Giriş

Program output

33 // display result 34 JOptionPane.showMessageDialog( null, "The sum is " + sum,35 "Results", JOptionPane.PLAIN_MESSAGE ); 36 37 System.exit( 0 ); // terminate application with window38 39 } // end method main40 41 } // end class Addition

Page 30: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– Programda kullanmak için JOptionPane sınıfı dahil edildi

– Addition sınıfı public olarak tanımlandı.• Dosyanın ismi Addition.java olmalı

– Satır 10-11: main

– Tanımlama• firstNumber ve secondNumber değişkenleri

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

Page 31: Bölüm  2 –  Java Uygulamalarına Giriş

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.

• firstNumber ve secondNumber değişkenlerinin tipleri String (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.

String firstNumber, secondNumber;

12 String firstNumber; // first string entered by user 13 String secondNumber; // second string entered by user

Page 32: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– Değişken tanımlama number1, number2, ve sum (tipleri int)• int integer değerleri tutar : i.e., 0, -4, 97• float ve double desimal değerler tutar.

• char tek karakter tutar: i.e., x, $, \n, 7

15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2

Page 33: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– Kullanıcıdan gelen String değeri alma• Method JOptionPane.showInputDialog aşağıdaki

gibi görünür:

• Kullanıcıya verilecek mesaj

• Eğer yanlış tipte veri girişi yapılırsa veya Cancel tıklanırsa, hata oluşur.

20 firstNumber = JOptionPane.showInputDialog( "Enter first integer" );

Page 34: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– showInputDialog dan dönen sonuç firstNumber değişkenine = operatörü ile atılıyor.• = binary operator –eşitlik iki taraflı

– Değer sağdan sola atanır.

• firstNumber değerini JOptionPane.showInputDialog( "Enter first integer" ) alır

20 firstNumber = JOptionPane.showInputDialog( "Enter first integer" );

Page 35: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– Bir önceki satıra benzer işlem var• secondNumber ikinci input değerini alıyor

– Method Integer.parseInt• String değeri integer değere çevirir. (type int)

– Integer sınıfı java.lang paketinde bulunuyor

• Integer.parseInt dönen değer number1 değişkenine atanıyor.(satır 27)

– number1 int tipte tanımlanmıştı

• Satır 28 benzer

23 secondNumber = 24 JOptionPane.showInputDialog( "Enter second integer" );

27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber );

Page 36: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– Assignment statement• number1 ve number2 toplamını hesaplar (right hand side)

31 sum = number1 + number2;

Page 37: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

– showMessageDialog kullanılarak sonıç gösterilir.

– "The sum is " + sum• + operatörü "The sum is" ve sum birbirine ekler.

• Bir String ve başka bir veri tipinin birleşmesi

– Sonuç yeni bir string

• Eğer sum içi 117 olsa idi, "The sum is " + sum sonucu "The sum is 117“ olarak gözükecekti.

34 JOptionPane.showMessageDialog( null, "The sum is " + sum,35 "Results", JOptionPane.PLAIN_MESSAGE );

Page 38: Bölüm  2 –  Java Uygulamalarına Giriş

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

34 JOptionPane.showMessageDialog( null, "The sum is " + sum,35 "Results", JOptionPane.PLAIN_MESSAGE );

Page 39: Bölüm  2 –  Java Uygulamalarına Giriş

2.5 Başka bir Java Uygulaması: Sayı Toplamı

Message dialog type Icon Description

JOptionPane.ERROR_MESSAGE

Displays a dialog that indicates an error to the user.

JOptionPane.INFORMATION_MESSAGE

Displays a dialog with an informational message to the user. The user can simply dismiss the dialog.

JOptionPane.WARNING_MESSAGE

Displays a dialog that warns the user of a potential problem.

JOptionPane.QUESTION_MESSAGE

Displays a dialog that poses a question to the user. This dialog normally requires a response, such as clicking on a Yes or a No button.

JOptionPane.PLAIN_MESSAGE no icon Displays a dialog that simply contains a

message, with no icon. Fig. 2.12 JOptionPane constants for message dialogs.

Page 40: Bölüm  2 –  Java Uygulamalarına Giriş

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.

Page 41: Bölüm  2 –  Java Uygulamalarına Giriş

2.6Bellek

• Görsel Gösterimi– Sum = 0; number1 = 1; number2 = 2;

– Sum = number1 + number2; komut çalıştıktan sonra

sum 0

sum 3

Page 42: Bölüm  2 –  Java Uygulamalarına Giriş

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

Page 43: Bölüm  2 –  Java Uygulamalarına Giriş

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, b ve c değ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

Page 44: Bölüm  2 –  Java Uygulamalarına Giriş

2.7 Aritmetik

Operator(s) Operation(s) Order of evaluation (precedence) * /

%

Multiplication Division Remainder

Evaluated first. If there are several of this type of operator, they are evaluated from left to right.

+ -

Addition Subtraction

Evaluated next. If there are several of this type of operator, they are evaluated from left to right.

Fig. 2.17 Precedence of arithmetic operators.

Page 45: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

• if kontrol deyimi– Bu bölümde basit kısmı , sonraki bölümlerde daha detaylı

– Eğer şart kısmı doğru ise,if deyiminin gövde kodları çalışır.• 0 false olarak yorumlanır, 0 dan başka değer ise true olarak

yorumlanır

– if den 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

Page 46: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

Standard algebraic equality or relational operator

J ava equality or relational operator

Example of J ava condition

Meaning of J ava condition

Equality operators = == x == y x is equal to y != x != y x is not equal to y Relational operators > > x > y x is greater than y < < x < y x is less than y >= x >= y x is greater than or equal to y <= x <= y x is less than or equal to y Fig. 2.19 Equality and relational operators.

Page 47: Bölüm  2 –  Java Uygulamalarına Giriş

Comparison.java

1. import

2. Class Comparison

2.1 main

2.2 Declarations

2.3 Input data (showInputDialog)

2.4 parseInt

2.5 Initialize result

1 // Fig. 2.20: Comparison.java2 // Compare integers using if statements, relational operators 3 // and equality operators.4 5 // Java packages6 import javax.swing.JOptionPane;7 8 public class Comparison {9 10 // main method begins execution of Java application11 public static void main( String args[] )12 {13 String firstNumber; // first string entered by user14 String secondNumber; // second string entered by user15 String result; // a string containing the output16 17 int number1; // first number to compare18 int number2; // second number to compare19 20 // read first number from user as a string21 firstNumber = JOptionPane.showInputDialog( "Enter first integer:" );22 23 // read second number from user as a string24 secondNumber =25 JOptionPane.showInputDialog( "Enter second integer:" );26 27 // convert numbers from type String to type int28 number1 = Integer.parseInt( firstNumber );29 number2 = Integer.parseInt( secondNumber );30 31 // initialize result to empty String32 result = ""; 33

Page 48: Bölüm  2 –  Java Uygulamalarına Giriş

Comparison.java

3. if statements

4. showMessageDialog

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 application57 58 } // end method main59 60 } // end class Comparison

Test for equality, create new string, assign to result.

Notice use of JOptionPane.INFORMATION_MESSAGE

Page 49: Bölüm  2 –  Java Uygulamalarına Giriş

Program Output

Page 50: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

– Satır 1-12: Açıklama, import JOptionPane, Comparison sı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.

13 String firstNumber, 14 secondNumber, 15 result;

Page 51: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

– result değişkenine ilk değeri verildi

– if de yazılan koşul eşitliği kontrol eder (==)• Eğer içerikler eşit ise (şart doğru ise)

– result + operatörü ile birleştirilir.

– result = result + other strings– Önce sağ taraf hesaplanır, yeni içerik result ta

tutulur.

• Eğer içerikler eşit değil ise bu kısım atlanır.

32 result = "";

34 if ( number1 == number2 ) 35 result = result + number1 + " == " + number2;

Page 52: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

– Satır 37-50: if koşulları sayıları birbiriyle karşılaştırmaya devam eder.

• Eğer number1 = 123 ve number2 = 123 değerlerinde olduğunu varsayalım

– Satır 34 doğru sonucu üretir (if number1 = = number 2)

• Çünkü number1 ve number2 değerleri eşittir.

– Satır 40 yanlış sonucu üretir (if number1 < number 2)

• Çünkü number1 number2 ‘den küçük değildir.

– Satır 49 doğru sonucu üretir (if number1 >= number2)

• Çünkü number1 number2’den büyük yada eşit şartını sağlıyor.

– Satır 53-54: result değişkenin değeri dialog kutusunun showMessageDialog metodunu kullanarak yazdırılır.

Page 53: Bölüm  2 –  Java Uygulamalarına Giriş

2.8 Karar Verme: Eşitlik yada İlişkisel Operatörler

• Operatörlerin öncelikleri– = (atama) dışındaki bütün operatörlerin işeniş biçimi soldan

sağa doğrudur.• Örneğin: x = y = z => x = (y = z)

Operators Associativity Type * / % left to right multiplicative + - left to right additive < <= > >= left to right relational == != left to right equality = right to left assignment Fig. 2.21 Precedence and associativity of the operators discussed so far.