GİRİŞ • Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır. • Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. • Yazılımcı programın algoritmasını geliştirebiliyorsa; o programı, tüm programlama dillerinde kodlamış sayılabilir. • Birçok problem ortaya koymak, bunları sorgulamak, parametrelerini değiştirmek, değişik yollardan çözüm üretmek gibi adımlar algoritma geliştirme mantığını arttırır. Operatörler ve Programlama Dillerindeki Karşılıkları Matematiksel Operatörler Operatör Anlamı C++ C# Java ^ Üs alma * Çarpma * * * / Bölme / / / + Toplama + + + - Çıkarma - - - . Ondalık ayıracı . . . Mod alma % % % Arttırma ++ ++ ++ Azaltma -- -- -- Topla ve aktar += += += Çıkar ve aktar -= -= -= Çarp ve aktar *= *= *= Böl ve aktar /= /= /= Operatörler ve Programlama Dillerindeki Karşılıkları Karşılaştırma Operatörler Operatör Anlamı C++ C# Java = Eşittir == == == <> Eşit değildir != != != < Küçüktür < < < > Büyüktür > > > >= Büyük eşittir >= >= >= <= Küçük eşittir <= <= <= Java’daki Veri Giriş Komutları Java programlarında klavyeden veri girişi için ‘java.util’ paketinde yer alan ‘Scanner’ sınıfının yöntemleri (‘Sistem.in’) kullanılır. Bu nedenle programın başında ‘import java.util.Scanner ‘ ile sınıf çağrılır. ‘Scanner’ sınıfının bazı yöntemleri aşağıdaki gibidir. Yöntem Görevi findlnLine(‘patern’) Girilen ifade ‘patern’ ile belirtilen ifadeyi alır findlnLine(‘.’).charAt(0) Klavyeden girilen ifadenin ilk karakterini alır Next() Klavyeden ifadeyi ilk özel karakterine (boşluk) kadar alır nextBoolean() Klavyeden girilen ifadeyi ‘boolean’ tipinde alır nextByte() Klavyeden girilen değeri ‘byte’ veri tipinde alır nextDouble() Klavyeden girilen değeri ‘double’ veri tipinde alır nextFloat() Klavyeden girilen değeri ‘float’ veri tipinde alır nextlnt() Klavyeden girilen değeri ‘int’ veri tipinde alır nextLine() Klavyeden girilen tüm satırı alır nextLine().charAt(0) Klavyeden girilen ifadenin ilk karakterini alır nextLong() Klavyeden girilen değeri ‘long’ veri tipinde alır nextShort() Klavyeden girilen değeri ‘short’ veri tipinde alır Java’daki Veri Çıkış Komutları 1. print Java programlarındaki temel ekrana yazdırma yöntemidir. Parantez içindeki değişkenin değerini veya çift tırnak içindeki ifadeyi yazdırır. ‘println’ da aynı görevde olup yazma işlemini gerçekleştirdikten sonra, imleci bir alt satıra geçirir. Kullanım Şekilleri: System.out.print (değişken); System.out.print (‘ifade’); System.out.println (değişken); System.out.println (‘ifade’); Java’daki Veri Çıkış Komutları 2. printf Ekranda belirli bir biçimde değerleri/ifadeleri yazdırmak (formatlı çıkışlar) için Java programlarında ‘printf’ kullanılır. Kullanım şekli: System.out.printf (biçim ifadesi, değişken); Java’daki Bazı Tip Karakterleri Karakter Giriş d o x X f e E g Tamsayı Tamsayı Tamsayı Tamsayı Ondalıklı sayı Ondalıklı sayı Ondalıklı sayı Ondalıklı sayı G a A Ondalıklı sayı Ondalıklı sayı Ondalıklı sayı c C s S % Karakter Karakter Karakter dizisi Karakter dizisi t veya T Tarih/saat Çıkış Biçimi Sayılar 10 tabanında tamsayı 8 tabanında tamsayı 16 tabanında tamsayı (harfler küçük) 16 tabanında tamsayı (harfler büyük) Ondalıklı sayı Üstel gösterimde (bilimsel) ondalıklı sayı (e) Üstel gösterimde (bilimsel) ondalıklı sayı (E) Belirtilen değer ve hassasiyete göre e veya f biçimde ondalıklı g ile aynı, e kullanılırsa üs belirteci ‘E’ olur 16 tabanında ve üstel gösterimli sayı (e) 16 tabanında ve üstel gösterimli sayı (E) Karakterler Tek karakter Tek karakter (büyük harf) Karakter dizisi Karakter dizisi (büyük harflerle) % Tarih ve saat Tarih ve saat gösterimleri Java’daki Bazı Kontrol/Çıkış Karakterleri Karakter Anlamı \n Yeni satır \r Enter tuşu \b Backspace tuşu \t Tab tuşu \\ \ \” “ \’ ‘ Java’daki Bazı Tarih/Saat Tip Karakterleri Karakter Biçim R T r D F c saat:dakika (24 saat) saat:dakika:saniye saat:dakika:saniye öğleden önce/sonra (12 saat) ay:gün:yıl yıl:ay:gün tarih ve saat // Yazdırma işlemleri-1 public class yazdirma1 { public static void main (String [] args) { System.out.print (ʺC ʺ); System.out.println (ʺC ++ʺ); System.out.printf (ʺ%X\rʺ,27); System.out.printf (ʺ%.3f\nʺ,123.456789); System.out.printf (ʺ%S\nʺ, ʺjavaʺ); System.out.printf (ʺ%5.4s\nʺ, ʺPROGRAMLAMAʺ); }} C C++ 1B 123,457 1.234500e+02 JAVA PROG // Yazdırma işlemleri-2 import java.util.Date; public class yazdirma2 { public static void main (String [] args) { Date zaman=new Date (); }} System.out.print (ʺ%tR\nʺ, zaman); 17:10 System.out.printf (ʺ%tT\nʺ, zaman); 17:10:06 System.out.printf (ʺ%.tr\nʺ, zaman); 05:10:06 PM System.out.printf (ʺ%tD\nʺ, zaman); 08/16/09 System.out.printf (ʺ%tF\nʺ, zaman); 2009-08-16 System.out.printf (ʺ%tc\nʺ, zaman); Paz Ağu 16 17:10:06 EEST 2009 DÖNGÜ KOMUTLARI Ardışık veya tekrarlı işlemlerin yapılmasını sağlayan komutlardır. Döngüler üçe ayrılır: i. Sayıcılı döngüler: Döngü işlemleri bir sayaca bağlı olarak gerçekleştirilir. ii. Ön koşullu döngüler: Döngü içindeki işlemler koşula/koşullara bağlı olarak gerçekleştirilir ve bu koşul/koşullar döngü öncesinde kontrol edilir. iii. Son koşullu döngüler: Döngü içindeki işlemler koşula/koşullara bağlı olarak gerçekleştirilir ve bu koşul/koşullar döngü sonunda kontrol edilir. Java’daki Döngü Komutları Java programlama dilinde ‘for’, ‘while’, ve ‘do-while’ olmak üzere üç döngü yapısı bulunmaktadır. 1. for Tüm dillerde olduğu gibi Java’da sayıcılı döngü komutudur. ‘for’ döngüsünde; koşul sağlandığı (doğru olduğu) sürece, döngü bloğu işlemler yapılır. Kullanım Şekli: for ( başlangıç değeri ; koşul ; artım ) {…………………….. ……………………… ……………………… } işlemler Java’daki Döngü Komutları Kullanım Şekli: for ( tip başlangıç değeri ; koşul ; artım ) {…………………….. ……………………… işlemler ……………………… } başlangıç değeri artım koşul H E işlemler // Döngü 1 -> C kodunun karşılığı import java.util.Scanner; public class ornek { public static void main (String [] args) { float t=0; Scanner klavye=new Scanner (System.in); System.out.print (ʺÜst sınırı giriniz: ʺ); int N=klavye.nextInt (); for (int i=1;i<=N;i++) t+= i; System.out.printf (ʺ\n1 den üst sınıra kadar tamsayıların toplamı: %.0fʺ, t); }} Üst sınır giriniz: 20 1 den üst sınıra kadar tamsayıların toplamı: 210 Java’daki Döngü Komutları 2. while Java’da ön koşullu döngü ‘while’dır. ‘while’ ile verilen koşul sağlandığı (doğru olduğu) sürece, döngü içindeki işlemler gerçekleştirilir. Kullanım Şekli: while ( koşul ) {…………………….. ……………………… ……………………… } işlemler Java’daki Döngü Komutları do-while 3. Java’da ki son koşullu döngüdür. ‘while’ ile belirtilen koşul sağlandığı (doğru olduğu) sürece, döngüdeki işlemler yapılır. Kullanım Şekli: do {…………………….. ……………………… ……………………… } while ( koşul ); işlemler KARAR KARŞILAŞTIRMA KOMUTLARI – ‘Eğer’ Koşulların kontrolünde kullanılan komutlardır. Koşulların doğru olup olmamasına göre işlem akışını yönlendirirler. Kara komutları dört farklı yapıda olabilirler: i. Yarım form: Sadece koşul/koşullar doğru olduğunda (doğru ise-evet ise) yapılacak işlem/işlemler vardır. ii. Tam form: Koşul/koşullar doğru ve yanlış olduğunda yapılacak işlem/işlemler vardır. iii. Çok koşullu form: Birçok koşulun durumuna göre yapılacak işlem/işlemler vardır. iv. Seçimli form: Seçim/kontrol değişkeninin değerine göre yapılacak işlem/işlemler vardır. Bu form; ‘çok koşullu formun sade biçimidir. Java’daki Karar Komutları Java programlama dilinde ‘for’, ‘while’, ve ‘do-while’ olmak üzere üç döngü yapısı bulunmaktadır. 1. if-else Yarım-tam-çok koşullu form yapılarında kullanılabilir. Kullanım Şekli: if ( koşul veya koşul grubu ) işlem; if ( koşul veya koşul grubu ) işlem-1; else işlem-2; if ( koşul veya koşul grubu ) işlem-1; else if ( koşul2 veya koşul grubu2) işlem-2; else if ( koşul3 veya koşul grubu3) işlem-3; …………………………………………… else işlem-n; // Karar 1 -> C kodunun karşılığı import java.util.Scanner; public class ornek { public static void main (String [] args) { Scanner klavye=new Scanner (System.in); System.out.print (ʺBir tam sayı giriniz => ʺ); int a=klavye.nextInt () ; if (a>0) System.out.print (ʺPozitifʺ) ; else if (a<0) System.out.print (ʺNegatifʺ) ; else System.out.print (ʺSıfırʺ) ; }} Bir tamsayı giriniz => -5 Negatif Java’daki Karar Komutları Java programlama dilinde ‘for’, ‘while’, ve ‘do-while’ olmak üzere üç döngü yapısı bulunmaktadır. 2. switch Kullanım Şekli: switch ( değişken ) { case değer-1 : işlemler-1 ; case değer-2 : işlemler-2 ; case değer-3 : işlemler-3 ; …………………………. case değer-n : işlemler-n ; Java’daki Karar Komutları Java programlama dilinde ‘for’, ‘while’, ve ‘do-while’ olmak üzere üç döngü yapısı bulunmaktadır. 3. ? Koşulun durumuna göre ilgili değeri veya işlem sonucunu, belirten değişkene aktarır. Kullanım Şekli: değişken = (koşul) ? işlem/değer-1 : işlem/değer-2;