Kullanıcıdan değer alma(input)

Download Report

Transcript Kullanıcıdan değer alma(input)

Slide 1

Java Uygulamaları

Konsol Uygulaması


Slide 2

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


Slide 3

Çalışanlar Federasyonu


Slide 4

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.


Slide 5

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


Slide 6

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.


Slide 7

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.


Slide 8

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)


Slide 9

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


Slide 10

Statement
deyim, komut.
1) Belirli bir programlama dilinin bağlamında
bir işlemi tanımlayan ya da betimleyen
anlamlı ifade.
2) Ü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.
3) Bir işleç, bir ya da daha fazla işlenenden
oluşan dildeki sözdizimsel birim. (Fra.
instruction)


Slide 11

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.
 ??
 ??


Slide 12

Programın çıktısı


Slide 13

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.


Slide 14

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.


Slide 15

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


Slide 16

A) Aynı satıra yazma


Slide 17

B) yeni satıra yazma


Slide 18

C) aynı metod içinde satır atlayarak
yazdırma


Slide 19

D) tab kadar boşluk bırakma


Slide 20

E) \ kullanma


Slide 21

F) tırnak içinde yazma


Slide 22

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


Slide 23

Mesaj Kutusu
• 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.


Slide 24

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


Slide 25

Mesaj Kutusu
• 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.


Slide 26

Mesaj Kutusu
9
10

JOptionPane.showMessageDialog(
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.


Slide 27

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.


Slide 28

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.


Slide 29

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


Slide 30

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


Slide 31

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


Slide 32

Kullanıcıdan değer alma(input)
– çıktı


Slide 33

Kullanıcıdan değer alma(input)
4
5

// Java packages
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ı.

10
11

Dosyanın ismi Toplama.java olmalı

public static void main( String args[] )
{

- Satır 10-11: main mtodu
12
13
14
15

String firstNumber; // first string entered by user
String secondNumber; // second string entered by user
int number1;

// first number to add

– Tanımlama



firstNumber ve secondNumber değişkenleri
?? İnteger number1,… değişkenleri


Slide 34

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.


Slide 35

Kullanıcıdan değer alma(input)
33
// sonucu göster
34 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.


Slide 36

Kullanıcıdan değer alma(input)
33
// sonucu göster
34 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


Slide 37

Kullanıcıdan değer alma(input)
M e ssa g e d ia lo g t y p e

Ic o n

D e sc rip t io n

JOptionPane.ERROR_MESSAGE

D isp la ys a d ia lo g th a t in d ic a te s a n e rro r
to th e u se r.

JOptionPane.INFORMATION_MESSAGE

D isp la ys a d ia lo g w ith a n in fo rm a tio n a l
m e ssa g e to th e u se r. T h e u se r c a n sim p ly
d ism iss th e d ia lo g .

JOptionPane.WARNING_MESSAGE

D isp la ys a d ia lo g th a t w a rn s th e u se r o f a
p o te n tia l p ro b le m .

JOptionPane.QUESTION_MESSAGE

D isp la ys a d ia lo g th a t p o se s a q u e stio n to
th e u se r. T h is d ia lo g n o rm a lly re q u ire s a
re sp o n se , su c h a s c lic k in g o n a Y e s o r a
N o b u tto n .

JOptionPane.PLAIN_MESSAGE
Fig . 2 .1 2

n o ic o n

D isp la ys a d ia lo g th a t sim p ly c o n ta in s a
m e ssa g e , w ith n o ic o n .
J O p t i o n P a n e c o n st a n t s f o r m e ssa g e d ia lo g s.


Slide 38

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.


Slide 39

Değişkenler ve bellek
• Görsel Gösterimi
– toplam = 0; sayi1 = 1; sayi2 = 2;

toplam

0

– toplam = sayi1 + sayi2;
komut çalıştıktan sonra

toplam

3