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 Bölüm 2 Temel Programlama

2 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 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(§§ ). 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 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 * ; // 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 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 * ; // 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 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 * ; // 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 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 * ; // 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 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 * ; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } 20 yaricap Hafıza / RAM 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 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 * ; // Sonucu göster System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + "dır."); } 20 yaricap Hafıza / RAM alan Ekrana yazma animation

10 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 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 Değişkenler // Birinci alanı hesapla yaricap = 1.0; alan = yaricap * yaricap * ; System.out.println("Yarı capı " + yaricap + " olan dairenin alanı " + alan + " dır."); // İkinci alanı hesapla yaricap = 2.0; alan = yaricap * yaricap * ; 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 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 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 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 Sabitler final veritipi SABIT_ISMI = DEGERI; final double PI = ; final int SIZE = 3;

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

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

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

20 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 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 NOT Ondalıklı sayılarla yapılan işlemler yakın değerlere çekilir. Örneğin, System.out.println( ); Sonuç olarak gösterir, 0.5 göstermez. System.out.println( ); 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 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 = ; double d = 5.0;

24 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 ( ) ve 2 31 –1 ( ) 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 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 Bilimsel Gösterim Örneğin, e+2 ya da e2, ’ya eşittir, e-2 ise 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 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 İ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 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 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 Atama operatörleri kısayolları OperatörÖrnekEş değeri +=i += 8i = i + 8 -=f -= 8.0f = f *=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 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 Art. ve Az. Op. Devam

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

36 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Ç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 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 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 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 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 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 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 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 Ö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 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 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 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 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 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 girilsin

49 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 numberOfOneDollars numberOfOneDollars assigned animation

50 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 numberOfOneDollars remainingAmount güncellenir. animation

51 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 numberOfOneDollars 2 numberOfOneQuarters numberOfOneQuarters assigned animation

52 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 numberOfOneDollars 2 numberOfQuarters remainingAmount updated animation

53 Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved 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 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 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 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 İ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 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 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 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 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 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 Ç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 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 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 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 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 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 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 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 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 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 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 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 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ı