SUNU 4

advertisement
Bölüm 2 – Java Uygulamalarına Giriş
Outline
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
Giriş
Java’da İlk Programımız: Yazı Yazmak
İlk Programda Değişiklik Yapma
Yazıyı Diyalog Kutusunda Gösterme
Başka bir Java Uygulaması: Sayılar Toplamı
Bellek
Aritmetik Operatörler
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 - uygulamalar ve appletler
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
1
2
3
4
5
6
7
8
9
10
11
12
13
// Fig. 2.1: Welcome1.java
// Text-printing program.
public class Welcome1 {
Welcome1.java
// main method begins execution of Java application
public static void main( String args[] )
{
System.out.println( "Welcome to Java Programming!" );
} // end method main
} // end class Welcome1
Welcome to Java Programming!
Program Output
2.2
1
Java’da İlk Programımız: Yazı Yazmak
// Fig. 2.1: Welcome1.java
– 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. */
2
// Text-printing program.
– 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.
2.2
Basit bir Program: Bir satıra Yazı
Yazmak
3
– 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.
4
public class Welcome1 {
– 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
4
Basit bir Program: Bir satıra Yazı
Yazmak
public class Welcome1 {
– 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.
2.2
4
Basit bir Program: Bir satıra Yazı
Yazmak
public class Welcome1 {
– 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)
7
public static void main( String args[] )
– 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.
Basit bir Program: Bir satıra Yazı
Yazmak
2.2
7
public static void main( String args[] )
• 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.
8
{
– Sol ayraç metodun gövde kısmını başlatır.
• Sağ ayraç ile biter } (satır 11)
2.2
9
Basit bir Program: Bir satıra Yazı
Yazmak
System.out.println( "Welcome to Java Programming!" );
– 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. ;
2.2
11
Basit bir Program: Bir satıra Yazı
Yazmak
} // end method main
– Metod gövdesinin sonu
13
} // end class Welcome1
– Sınıf gövdesinin sonu
– 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.
– javac Welcome1.java
– Hata yok ise, Welcome1.class oluş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
– 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.
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.
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
9
10
System.out.print( "Welcome to " );
System.out.println( "Java Programming!" );
– 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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Fig. 2.3: Welcome2.java
// Printing a line of text with multiple statements.
Welcome2.java
public class Welcome2 {
// main method begins execution of Java application
public static void main( String args[] )
{
System.out.print( "Welcome to " );
System.out.println( "Java Programming!" );
} // end method main
} // end class Welcome2
1. Comments
2. Blank line
3. Begin class
Welcome2
3.1 Method main
System.out.print keeps the cursor on
the same line, so System.out.println
4. Method
continues on the same line.
System.out.prin
t
4.1 Method
System.out.prin
tln
Welcome to Java Programming!
5. end main,
Welcome2
Program Output
2.3
İlk Java Programımızda Değişiklik
Yapma
• Yeni satır karakteri (\n)
–
–
–
–
9
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.
System.out.println( "Welcome\nto\nJava\nProgramming!" );
• 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!" );
1
2
3
4
5
6
7
8
9
10
11
12
13
// Fig. 2.4: Welcome3.java
// Printing multiple lines of text with a single statement.
Welcome3.java
public class Welcome3 {
1. main
// main method begins execution of Java application
public static void main( String args[] )
{
System.out.println( "Welcome\nto\nJava\nProgramming!" );
} // end method main
2.
System.out.prin
tln (uses \n for new
line)
} // end class Welcome3
Program Output
Welcome
to
Java
Programming!
Notice how a new line is output for each \n
escape sequence.
2.3
İlk Java Programımızda Değişiklik
Yapma
Escape karakterler
– Backslash ( \ )
– Özel karakterleri çıktıda görebilmek için
Esc a p e
De sc rip tio n
se q ue nc e
\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 So m e c o m m o n e sc a p e se q ue nc e s.
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.
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1// //
Fig.
2.6:
Welcome4.java
Fig.
2.6:
Welcome4.java
// Printing multiple lines in a dialog box.
2 // Printing multiple lines in a dialog box
3// import
javax.swing.JOptionPane; // import class JOptionPane
Java packages
4import javax.swing.JOptionPane; // program uses JOptionPane
5 public class Welcome4 {
public class Welcome4 {
6
public static void main( String args] )
// main method begins execution of Java application
7
{
public static void main( String args[] )
8 {
JOptionPane.showMessageDialog(
JOptionPane.showMessageDialog(
9
null, "Welcome\nto\nJava\nProgramming!" );
null, "Welcome\nto\nJava\nProgramming!" );
10
11
12
System.exit(
0 );
terminate
application
with window
System.exit(
0 );// //
terminate
the program
}
} // end method main
} // end class Welcome4
Welcome4.java
1. import
declaration
2. Class Welcome4
2.1 main
2.2
showMessageDial
og
2.3 System.exit
Program Output
2.4
Dialog Kutusunda Yazıyı Gösterme
– Satır 1-2: yorum
4
// Java packages
– 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
5
import javax.swing.JOptionPane;
// program uses OptionPane
– 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.
2.4
Dialog Kutusunda Yazıyı Gösterme
– Lines 6-11: Boş satır, Sınıf başlangıcı Welcome4 ve main
12
13
JOptionPane.showMessageDialog(
null, "Welcome\nto\nJava\nProgramming!" );
– 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.
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.
2.4
15
Dialog Kutusunda Yazıyı Gösterme
System.exit( 0 );
// terminate application with window
– 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
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Fig. 2.9: Addition.java
// Addition program that displays the sum of two numbers.
// Java packages
import javax.swing.JOptionPane;
Addition.java
// program uses JOptionPane
1. import
public class Addition {
name and
// main method begins executionDeclare
of Javavariables:
application
public static void main( String args[] )
{
String firstNumber;
// first string entered by user
String secondNumber; // second string entered by user
int number1;
int number2;
int sum;
type.
// first number to add
Input
first integer
// second
number
to add as a String,
// sum to
offirstNumber.
number1 and number2
2.1 Declare variables
(name and type)
assign
// read in first number from user as a String
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
// read in second number from user as a String
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" );
2. class Addition
3.
showInputDialog
4. parseInt
5. Add numbers, put
result in sum
Convert strings to integers.
// convert numbers from type StringAdd,
to type
placeint
result
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
// add numbers
sum = number1 + number2;
in sum.
33
34
35
36
37
38
39
40
41
// display result
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
System.exit( 0 );
// terminate application with window
} // end method main
} // end class Addition
Program output
2.5
5
Başka bir Java Uygulaması: Sayı
Toplamı
import javax.swing.JOptionPane;
// program uses JOptionPane
– Programda kullanmak için JOptionPane sınıfı dahil
edildi
7
public class Addition {
– Addition sınıfı public olarak tanımlandı.
• Dosyanın ismi Addition.java olmalı
– Satır 10-11: main
12
13
String firstNumber;
String secondNumber;
// first string entered by user
// second string entered by user
– Tanımlama
• firstNumber ve secondNumber değişkenleri
2.5
12
13
Başka bir Java Uygulaması: Sayı
Toplamı
String firstNumber;
String secondNumber;
// first string entered by user
// second string entered by user
– 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 ;
String firstNumber, secondNumber;
– 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.
2.5
15
16
17
Başka bir Java Uygulaması: Sayı
Toplamı
int number1;
int number2;
int sum;
// first number to add
// second number to add
// sum of number1 and number2
– 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
2.5
20
Başka bir Java Uygulaması: Sayı
Toplamı
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
– 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.
2.5
20
Başka bir Java Uygulaması: Sayı
Toplamı
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
– 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
2.5
23
24
Başka bir Java Uygulaması: Sayı
Toplamı
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" );
– Bir önceki satıra benzer işlem var
• secondNumber ikinci input değerini alıyor
27
28
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
– 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
2.5
31
Başka bir Java Uygulaması: Sayı
Toplamı
sum = number1 + number2;
– Assignment statement
• number1 ve number2 toplamını hesaplar (right hand side)
2.5
34
35
Başka bir Java Uygulaması: Sayı
Toplamı
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
– 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.
2.5
34
35
Başka bir Java Uygulaması: Sayı
Toplamı
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
– 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.5
Başka bir Java Uygulaması: Sayı
Toplamı
Messa g e d ia lo g typ e
Ic o n
Desc rip tio n
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 c o nsta nts fo r m essa g e d ia lo g s.
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.
2.6Bellek
• Görsel Gösterimi
– Sum = 0; number1 = 1; number2 = 2;
sum
0
– Sum = number1 + number2; komut çalıştıktan sonra
sum
3
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, 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
2.7 Aritmetik
Op era to r(s)
*
/
%
+
Fig. 2.17
Op era tio n(s)
Multiplication
Division
Remainder
Addition
Subtraction
Ord er o f eva lua tio n (p rec ed enc e)
Evaluated first. If there are several of this type
of operator, they are evaluated from left to
right.
Evaluated next. If there are several of this type
of operator, they are evaluated from left to
right.
Prec ed enc e o f a rithm etic o p era to rs.
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
2.8
Karar Verme: Eşitlik yada İlişkisel
Operatörler
Sta nd a rd a lg eb ra ic Ja va eq ua lity
Exa m p le
eq ua lity or
or rela tio na l
of Ja va
rela tiona l op era tor op era tor
c ond itio n
Equality operators
==
x == y
=
!=
x != y

Relational operators
>
x > y
>
<
x < y
<
>=
x >= y

<=
x <= y

Fig. 2.19 Eq ua lity a nd rela tiona l op era to rs.
Mea ning of
Ja va c ond ition
x is equal to y
x is not equal to y
x is greater than y
x is less than y
x is greater than or equal to y
x is less than or equal to y
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Fig. 2.20: Comparison.java
// Compare integers using if statements, relational operators
// and equality operators.
// Java packages
import javax.swing.JOptionPane;
public class Comparison {
1. import
// main method begins execution of Java application
public static void main( String args[] )
{
String firstNumber;
// first string entered by user
String secondNumber; // second string entered by user
String result;
// a string containing the output
int number1;
int number2;
Comparison.java
// first number to compare
// second number to compare
2. Class
Comparison
2.1 main
2.2 Declarations
// read first number from user as a string
firstNumber = JOptionPane.showInputDialog( "Enter first integer:" );
2.3 Input data
(showInputDialo
g)
// read second number from user as a string
secondNumber =
JOptionPane.showInputDialog( "Enter second integer:" );
2.4 parseInt
// convert numbers from type String to type int
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
// initialize result to empty String
result = "";
2.5 Initialize result
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
if ( number1 == number2 )
result = result + number1 + " == " + number2;
if ( number1 != number2 )
result = result + number1 + " != " + number2;
Test for equality, createComparison.java
new string,
assign to result.
if ( number1 < number2 )
result = result + "\n" + number1 + " < " + number2;
if ( number1 > number2 )
result = result + "\n" + number1 + " > " + number2;
if ( number1 <= number2 )
result = result + "\n" + number1 + " <= " + number2;
3. if statements
4.
showMessageDialo
g
if ( number1 >= number2 )
result = result + "\n" + number1 + " >= " + number2;
// Display results
JOptionPane.showMessageDialog( null, result, "Comparison Results",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
// terminate application
} // end method main
} // end class Comparison
Notice use of
JOptionPane.INFORMATION_MESSAGE
Program Output
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.
13
14
15
String firstNumber,
secondNumber,
result;
– Satır 21-30: kullanıcıdan girişleri alınır ve integer değerler
string’e çevrilir.
2.8
32
Karar Verme: Eşitlik yada İlişkisel
Operatörler
result = "";
– result değişkenine ilk değeri verildi
34
35
if ( number1 == number2 )
result = result + number1 + " == " + number2;
– 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.
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.
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)
Op era to rs
Asso c ia tivity
Typ e
* / %
left to right
multiplicative
+ left to right
additive
< <= > >=
left to right
relational
== !=
left to right
equality
=
right to left
assignment
Fig. 2.21 Prec ed enc e a nd a sso c ia tivity of the o p era to rs d isc ussed so fa r.
Download