Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 Bölüm 2 Temel Programlama.

Benzer bir sunumlar


... konulu sunumlar: "Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 Bölüm 2 Temel Programlama."— Sunum transkripti:

1 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 Bölüm 2 Temel Programlama

2 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 2 Hedefler Bir önceki bölümde bir Java programı yaratmayı, derlemeyi ve çalıştırmayı gördük. Bu bölümden itibaren problemleri programsal olarak çözmeyi öğreneceğiz. Bu problemlerle uğraşırken basit Java data tiplerini ve bunlarla alakalı olarak değişkenleri, sabitleri, operatörleri, giriş ve çıkışları öğreneceğiz.

3 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 3 Amaçlar F Basit hesaplamalar yazan Java programları yazmak(§2.2). F Scanner sınıfını kullanarak konsoldan veri çekmek(§2.3). F Değişkenleri, sabitleri, metotları ve sınıfları tanımlamak için tanıtıcı sözcükler (§2.4). F Veri depolamak için değişken kullanma(§§2.5-2.6). F Atama ifadeleri kullanarak programlama (§2.6). F Verileri kalıcı olarak depolamak için sabit kullanma (§2.7). F Basit Java tiplerini tanımlama: byte, short, int, long, float, double, ve char (§§2.8.1). F Operatör kullanarak sayısal ifadeler tanımlama (§§2.8.2–2.8.3). F Zamanı ve saati gösterme (§2.9). F Operatörleri kısayollarla ifade etme(§2.10). F Bir tipi başka tipe çevirme (§2.11). F Kira ödemesi hesapma (§2.12). F Char tipini kullanarak karakterleri simgeleme (§2.13). F Kur değişikliklerini hesaplama (§2.14). F String tipiyle metin yazma (§2.15). F Java dökümentasyonuyla, stiliyle, isimlendirme şekliyle aşina olma (§2.16). F Syntax, runtime, mantıksal ve debug hatalarını ayırt etme (§2.17). F (GUI) JOptionPane aracığıyla diyalog kutularıyla veri çekme(§2.18).

4 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 4 Bir örnekle başlıyoruz Listing 2.1 Dairenin alanını hesaplma public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); }

5 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 5 Programın çalışmasını takip etme public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } Değer yok yaricap Yarıçap için bellekte yer tutma Animasyon

6 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 6 Programın çalışmasını takip etme public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } Değer yok yaricap Hafıza / RAM Değer yok alan Bu sefer alan için animation

7 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 7 Programın çalışmasını takip etme public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } 20 yaricap Değer yok alan 20 değerini atama animation

8 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 8 Programın çalışmasını takip etme public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } 20 yaricap Hafıza / RAM 1256.636 area Alanı hesaplayıp değişkene atama animation

9 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 9 Programın çalışmasını takip etme public class AlanHesapla { /** Main methot */ public static void main(String[] args) { double yaricap; double alan; // Yarı çapı ata yaricap = 20; // Alanı hesapla alan = yaricap * yaricap * 3.14159; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } 20 yaricap Hafıza / RAM 1256.636 alan Ekrana yazma animation

10 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 10 Konsoldan veri çekme 1. Scanner nesnesi yaratma Scanner input = new Scanner(System.in); 2. next(), nextByte(), nextShort(), nextInt(), nextLong(), nextFloat(), nextDouble(), nextBoolean() metotlarını kullanarak string, byte, short, int, long, float, double, boolean değerlerini olulturma. Örneğin, System.out.print("double bir değer giriniz:"); Scanner input = new Scanner(System.in); double d = input.nextDouble(); ComputeAreaWithConsoleInput ComputeAverage

11 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 11 Identifier’lar (Tanımlayıcılar) F Bir identifier harflerin, sayıların ve birtakım özel karakterlerin ( _ ya da $) dizilimiyle oluşur. F Bir identifier sayıyla başlayamaz, özel karakter veya harfle başlayabilir. –‘Reserved’ kelimeler identifier olamaz.  true, false, null kelimeleri de kullanılmaz. F Identifier için uzunluk kısıtlaması yoktur.

12 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 12 Değişkenler // Birinci alanı hesapla yaricap = 1.0; alan = yaricap * yaricap * 3.14159; System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + " dır."); // İkinci alanı hesapla yaricap = 2.0; alan = yaricap * yaricap * 3.14159; System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + " dır.");

13 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 13 Değişken tanımlama int x; // x isminde bir integer // değişken tanımlama double yaricap;// yarıçap isminde bir // double tanımlama; char a; // a isminde bir karakter // değişken tanımlama

14 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 14 Atama ifadeleri x = 1; // x e bir ata; yarıcap = 1.0; // yarıcap a 1.0 ata; a = 'A'; // a ya 'A‘ ata;

15 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 15 Tanımlama ve atama işlemini aynı anda yapma F int x = 1; F double d = 1.4;

16 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 16 Sabitler final veritipi SABIT_ISMI = DEGERI; final double PI = 3.14159; final int SIZE = 3;

17 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 17 Sayısal veri tipleri

18 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 18 Sayısal operatörler

19 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 19 Bölme +, -, *, /, ve % 5 / 2 işleminin sonucu 2. 5.0 / 2 işleminin sonucu 2.5 5 % 2 işleminin sonucu 1 (kalanı gösterir)

20 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 20 Mod Operatörü Mod operatörü oldukça faydalıdır. Örneğin çift sayılar % 2 işlemiyle 0 sonucunu verirken tek sayılar 1 verir. Böylece sayının tek ya da çift olduğu kolayca belirlenir. Diyelim ki bugün C.tesi ve arkadaşlarınızla 10 gün içinde buluşacaksınız. 10 gün sonrası hangi gündür? O günün Salı olacağını şu ifadeyle rahatça görebilirsiniz:

21 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 21 Problem: Zamanı gösterme Saniye verisinden saat ve dakikayı bulan programı yazın. DisplayTime

22 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 22 NOT Ondalıklı sayılarla yapılan işlemler yakın değerlere çekilir. Örneğin, System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1); Sonuç olarak 0.5000000000000001 gösterir, 0.5 göstermez. System.out.println(1.0 - 0.9); 0.09999999999999998 gösterir, 0.1 göstermez. Tam sayılarda böyle bir şey yoktur, her işlemin sonucu kesin olarak gösterilir.

23 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 23 Literal (sabitler) değerler Bir literal programın içinde doğrudan görünen sayılardır. Örneğin 34, 1,000,000, 5.0 değerleri: int i = 34; long x = 1000000; double d = 5.0;

24 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 24 Integer Integer değer aralıklarında olan herhangi bir sayı int veri tipiyle tutulabilir. Mesela byte b = 1000 hata verir, çünkü 1000 değerini byte tipiyle tutamazsınız. Integer değerler -2 31 (-2147483648) ve 2 31 –1 (2147483647) arasındadır. Bir sayıyı long olarak ifade etmek istiyorsanız sayının sonuna L ve l eklerseniz. Genelde büyük L tercih edilir çünkü küçük l harfi sayı olan 1 ile karışabilir.

25 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 25 Ondalıklı sayılar Ondalıklı sayılara double değişken muamelesi yapılır. Örneğin, 5.0 double kabul edilir. Sonuna F harfi koyarak değişkeni float tipine çevirebilirsiniz. Örneğin float olarak 100.2f veya 100.2F, double olarak 100.2d ya da 100.2D yazabilirsiniz.

26 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 26 Bilimsel Gösterim Örneğin, 1.23456e+2 ya da 1.23456e2, 123.456’ya eşittir, 1.23456e-2 ise 0.0123456 ya eşittir. E (ya da e) değeri büyük veya küçük harfle ifade edilebilir.

27 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 27 Matematiksel ifadeler Şu şekilde yazılır: (3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y)

28 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 28 İfade nasıl yorumlanır Matematikteki işlem sırası Java için de geçerlidir.

29 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 29 Problem: Sıcaklık değerlerini çevirme Fahrenheit’u Celcius’a çeviren programı yazın: FahrenheitToCelsius

30 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 30 Problem: Zamanı gösterme GMT’de şu anki zamanı gösteren programı yazın. (Mesela 1:45:19). currentTimeMillis metodu System sınıfındadır ve 1 Ocak, 1970 GMT’den itibaren geçen milisaniye değerini gösterir. Bu metodu şu anki saat, dakika ve saniye değerlerini bulak için kullanabilirsiniz. ShowCurrentTime

31 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 31 Atama operatörleri kısayolları OperatörÖrnekEş değeri +=i += 8i = i + 8 -=f -= 8.0f = f - 8.0 *=i *= 8i = i * 8 /=i /= 8i = i / 8 %=i %= 8i = i % 8

32 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 32 Arttırma ve Azaltma Operatörleri OperatörTanımlama ++varÖnce arttır sonra ata. var++Önce ata, sonra arttır. --varÖnce eksilt sonra ata. var--Önce ata, sonra eksilt.

33 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 33 Art. ve Az. Op. Devam

34 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 34 Art. ve Az. Op. Devam Bu kısayolları kullanmak işlemleri kolaylaştırır ama bazen okumayı zorlaştırabilir. Şöyle ifadeler kullanmaktan kaçının: int k = ++i + i.

35 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 35 Sayı tipi çevirme Aşağıdaki ifadelere bakalım: byte i = 100; long k = i * 3 + 4; double d = i * 3.1 + k / 2;

36 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 36 Çevirme kuralları İki farklı operand kullanılarak bir işlem yapıldığında Java şu kuralları takip eder: 1. Bir operand double ise diğeri de double’a çevrilir.. 2. Biri float ise diğeri de float’a çevrilir. 3. long is long’a çevrilir. 4. Diğer durumlarda iki operand da int’e çevrilir.

37 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 37 Tür Dönüşümü (Type Casting) Gizli casting double d = 3; (tür genişlemesi) Açık casting int i = (int)3.0; (tür daralması) int i = (int)3.9; (Ondalıklı kısım kaybedilir) Hata nerede?int x = 5 / 2.0;

38 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 38 Problem: Virgülden sonra iki sayı tutma Satış değerini virgülden sonraki iki basamakla beraber ifade eden programı yazın. SalesTax

39 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 39 Problem: Kira ödemesi hesaplama ComputeLoan Bu programda kullanıcı faiz oranını, yıl sayısını ve kira tutarını girip aylık ve toplam ödeme miktarını buluyor.

40 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 40 Char data tipi char harf = 'A'; (ASCII) char sayiKarakter = '4'; (ASCII) char harf = '\u0041'; (Unicode) char sayiKarakter = '\u0034'; (Unicode) 16 lık sayı NOT: Artı ve eksi operatörleri bir sonraki unicode karakterini bulmak için kullanılabilir. Örneğin b harfi şu şekilde ekrana basılabilir: char ch = 'a'; System.out.println(++ch);

41 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 41 Unicode Format Java characters use Unicode, a 16-bit encoding scheme established by the Unicode Consortium to support the interchange, processing, and display of written texts in the world’s diverse languages. Unicode takes two bytes, preceded by \u, expressed in four hexadecimal numbers that run from '\u0000' to '\uFFFF'. So, Unicode can represent 65535 + 1 characters. Unicode \u03b1 \u03b2 \u03b3 for three Greek letters

42 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 42 Problem: Unicode ların gösterimi Ekrana iki Çince üç Yunan karakteri basan programı yazınız. DisplayUnicode

43 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 43 Özel karakterler için kısayollar Tanım Escape Sequence Unicode Backspace \b\u0008 Tab \t\u0009 Linefeed \n\u000A Carriage return \r\u000D Backslash \\\u005C Single Quote \ ' \u0027 Double Quote \ " \u0022

44 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 44 Appendix B: ASCII Character Set ASCII Character Set is a subset of the Unicode from \u0000 to \u007f

45 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 45 ASCII Character Set, cont. ASCII Character Set is a subset of the Unicode from \u0000 to \u007f

46 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 46 Karakter ve sayısal tipler arasındaki ilişki // int i = (int) ' a ' ; ile aynı şey int i = ' a ' ; // char c = (char)97; ile aynı şey char c = 97;

47 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 47 Problem: Parasal birimler Ekrana dolar ve sent miktarını belirten ondalıklı bir sayı girin. Bu miktarın single dollars, quarters, dimes, nickels, and pennies karşılıklarını bulun. ComputeChangeRun

48 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 48 Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; 1156 remainingAmount remainingAmount set edilir 11.56 girilsin

49 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 49 Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; 1156 remainingAmount Suppose amount is 11.56 11 numberOfOneDollars numberOfOneDollars assigned animation

50 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 50 Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; 56 remainingAmount Suppose amount is 11.56 11 numberOfOneDollars remainingAmount güncellenir. animation

51 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 51 Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; 56 remainingAmount Suppose amount is 11.56 11 numberOfOneDollars 2 numberOfOneQuarters numberOfOneQuarters assigned animation

52 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 52 Trace ComputeChange int remainingAmount = (int)(amount * 100); // Find the number of one dollars int numberOfOneDollars = remainingAmount / 100; remainingAmount = remainingAmount % 100; // Find the number of quarters in the remaining amount int numberOfQuarters = remainingAmount / 25; remainingAmount = remainingAmount % 25; // Find the number of dimes in the remaining amount int numberOfDimes = remainingAmount / 10; remainingAmount = remainingAmount % 10; // Find the number of nickels in the remaining amount int numberOfNickels = remainingAmount / 5; remainingAmount = remainingAmount % 5; // Find the number of pennies in the remaining amount int numberOfPennies = remainingAmount; 6 remainingAmount Suppose amount is 11.56 11 numberOfOneDollars 2 numberOfQuarters remainingAmount updated animation

53 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 53 String tipi Char tipi tek bir karakteri ifade etmeye yarar. Birden çok karakteri ifade etmek için String tipi kullanılır. String message = "Welcome to Java"; String System veya JOptionPane sınıfları gibi önceden Java kütüphanesinde tanımlanmıştır. String tipi primitif değil referans tipindedir. Java sınıfları değişkenleri refere ederken kullanılabilir.

54 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 54 String birleştirme // Three strings are concatenated String message = "Welcome " + "to " + "Java"; // String Chapter is concatenated with number 2 String s = "Chapter" + 2; // s becomes Chapter2 // String Supplement is concatenated with character B String s1 = "Supplement" + 'B'; // s1 becomes SupplementB

55 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 55 Programlama biçimi ve dökümantasyonu F Açıklayıcı yorumlar F İsimlendirme Kuralları F Doğru biçimlendirme F Block Styles

56 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 56 Yorumlar Programın başına özet olarak programın ne yaptığını, hangi özelliklere sahip olduğunu, hangi veri yapılarını barındırdığını yazın. İsminizi, biriminizi, tarihi, üstünüzü ve kısa bir açıklamayı ekleyin.

57 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 57 İsimlendirme F Anlamlı ve açıklayıcı isimler seçin. F Değişkenler ve metot isimleri: –Küçük harfler kullanın. Birden fazla kelime varsa camel notation. Örnek: computeArea

58 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 58 devam  Sınıf isimleri: –Büyük harfle başlayın: AlanHesapla. F Sabitler: –Hepsi büyük harf ve boşluk gelmesi gereken yerlere alt tire konur. For example, the constant PI ve MAX_VALUE

59 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 59 Biçimlendirme  Girinti –Parantezden sonra bir tab içerden başlayın. F Boşluk –Kod segmentleri arasında bir satır boşluk bırakın.

60 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 60 Block Styles Use end-of-line style for braces.

61 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 61 Programlama Hataları F Syntax Hataları –Derleyici tespit eder. F Runtime Hataları –Programın başarısız olmasına sebep olur F Mantık hataları –Hatalı sonuç üretir.

62 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 62 Sentaks hatası public class ShowSyntaxErrors { public static void main(String[] args) { i = 30; System.out.println(i + 4); }

63 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 63 Çalışma zamanı hataları public class ShowRuntimeErrors { public static void main(String[] args) { int i = 1 / 0; }

64 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 64 Logic Errors public class ShowLogicErrors { // Determine if a number is between 1 and 100 inclusively public static void main(String[] args) { // Prompt the user to enter a number String input = JOptionPane.showInputDialog(null, "Please enter an integer:", "ShowLogicErrors", JOptionPane.QUESTION_MESSAGE); int number = Integer.parseInt(input); // Display the result System.out.println("The number is between 1 and 100, " + "inclusively? " + ((1 < number) && (number < 100))); System.exit(0); }

65 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 65 Debugging Mantık hatalarına bug denir. Hataları bulup düzeltme işlemine debugging denir. Genellikle bug ın buluduğu segmentler kullanılarak hatayı giderme yoluna gidilir. Programı okuyarak ya da basitçe ekrana birtakım değerler bastırarak küçük programları debug edebilirsiniz. Fakat büyük ve karmaşık programlar için yardımcı yazılımlar gerekir.

66 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 66 Debugger Debugger debugging işleminin yapıldığı birimdir. F Bir zaman aralığında tek komut çalıştırma. F Bir metotu takip etme ya da gerekmiyorsa atlama. F Breakpoint oluşturma. F Değişkenleri gösterme. F Display call stack. F Değişkenleri düzenleme gibi işlevleri vardır.

67 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 67 JOptionPane Input Derste iki tip input göreceğiz. 1. Scanner sınıfı (konsol input) 2. JOptionPane input diyalogları

68 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 68 Input diyalog kutusundan input alma String input = JOptionPane.showInputDialog( "Enter an input");

69 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 69 Devam String string = JOptionPane.showInputDialog( null, “Prompting Message”, “Dialog Title”, JOptionPane.QUESTION_MESSAGE);

70 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 70 Metotu çağırmak için iki yol : String string = JOptionPane.showInputDialog(null, x, y, JOptionPane.QUESTION_MESSAGE); x ekrana gelen soru, y kutunun başlığı. : JOptionPane.showInputDialog(x); X ekrana gelen soru.

71 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 71 String leri integer a çevirme Integer sınıfında parseInt metotu kullanılır: int intValue = Integer.parseInt(intString); intString bir sayısal String ifadesidir, mesela “123”.

72 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 72 String i double a çevirme Double sınıfından parseDouble metotu kullanılır: double doubleValue =Double.parseDouble(doubleString); doubleString mesela “123.45” olabilir.

73 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 73 Problem: Input diyaloglarıyla kira hesaplama ComputeLoanUsingInputDialog Run Daha önceki faiz sorusunu bu sefer diyalog kutularıyla yapalım.

74 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 74 Debugging in NetBeans Supplement II.E, Learning Java Effectively with NetBeans Companion Website

75 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 75 Debugging in Eclipse Supplement II.G, Learning Java Effectively with NetBeans Companion Website


"Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 Bölüm 2 Temel Programlama." indir ppt

Benzer bir sunumlar


Google Reklamları