JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 • • • • Java’da Fonksiyon Tanımlamak Java’da Döngüler Java’da Şart İfadeleri Uygulamalar Uzaktan Eğitim Uygulama ve Araştırma Merkezi Java’da Fonksiyon Tanımlamak JAVA’DA FONKSİYON TANIMLAMAK • • • 4 • • Fonksiyonlar; çalıştırıldığında üstlendiği işleri yapmak üzere hazırlanan kod bütünleridir. Fonksiyonların kullanım amaçları; yazılan bir kodun tekrar tekrar kullanılabilmesini ve karmaşık kodların ufak parçalara bölünmesini sağlamaktır (Örneğin; toplama fonksiyonu). Fonksiyonlara giriş olarak, hiçbir değer (parametre) gönderilmediği gibi bir ve daha fazla değer (parametre) gönderilebilir. Aynı şekilde fonksiyonların yaptığı iş sonucunda geriye hiçbir değer döndürmediği gibi geriye değer (sonuç) döndüren fonksiyonlar da oluşturulabilmektedir. Bir fonksiyon iki bileşenden oluşur; – Fonksiyon Başlığı – Fonksiyon Bloğu Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • 5 • Fonksiyon Başlığı sıra ile; – fonksiyonun sonuç (geri dönüş) veri tipi – fonksiyonun ismi – fonksiyonun parametrelerinden (giriş değişkenleri) oluşmaktadır. Fonksiyon Bloğu ise; – Fonksiyonun yapacağı işlerin kodlandığı kısımdır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • Örnek; Java’nın standart main fonksiyonu incelenirse; public static void main(String[] args){ …………… } 6 Fonksiyon Başlığı Fonksiyon Bloğu – Bu fonksiyonda • static sabit değişmeyen bir fonksiyon olduğunu • void fonksiyonun geri dönüş (sonuç) verisinin olmadığını • main fonksiyonunun ismini • (String[] args) String veri tipinde dizi olarak giriş değişkenlerinin bulunduğunu belirtmektedir. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • • 7 Fonksiyonların parametre alması zorunlu değildir, giriş verisi olmayan fonksiyonlar da tanımlanabilmektedir. Örnek; public void selam(){ System.out.println("Merhaba Java Kullanıcısı"); } – Bu fonksiyonda selam fonksiyon isminin yanına parantez açılıp kapatılmış ve içerisine bir şey yazılmamıştır. Giriş parametresi olmayan ve geriye sonuç döndürmeyen (void ile tanımlanmış), sadece konsola yazı yazdıran bir fonksiyondur. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • • Fonksiyonlara parametre gönderirken; fonksiyon isminin yanına parantez içinde, veri tipi ve değişken ismi şeklinde, kaç tane değişken gönderilecek ise; aralarında virgül kullanılarak yazılır. Örnek; Parametre olarak verilen iki tam sayıyı toplayıp sonucu yine tam sayı verecek biçimde fonksiyon yazıldığında; public int topla(int sayi1, int sayi2){ return sayi1+sayi2; } 8 • • • Yukarıda yazılan topla fonksiyonu sayı1 ve sayı2 olmak üzere iki adet tamsayı (int) parametre almıştır. Geriye return kullanılarak sayı1 ve sayı2’nin toplamını tamsayı (int) olarak döndürmüştür, çünkü fonksiyon başlığında dönüş değeri int olarak tanımlanmıştır. Geriye değer döndürmeyen fonksiyonlarda return sadece fonksiyondan çıkmak istendiği zaman kullanılır, diğer durumlarda kullanılmaz. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • Statik Fonksiyonlar: 9 – Statik fonksiyonlar, nesnelerden bağımsız olarak kullanılabilen fonksiyonlardır. – Standart (statik olmayan) bir fonksiyon, bir sınıf içerisinde tanımlandığında, o sınıftan nesne oluşturmadan o fonksiyonu kullanamayız. – Fakat, statik olarak tanımlanan fonksiyonlar nesne tanımlanmasa bile direk çağrılıp kullanılabilmektedir. – Bir sınıf içerisindeki statik fonksiyonu, oluşturulan başka bir sınıftan çağırmak için, sınıf ismini yazıp nokta koyup fonksiyon ismini yazarız. – Örneğin; Integer.parseInt(…) gibi bu örnekte parseInt() fonksiyonu statik olarak tanımlanmıştır ve Integer nesnesi oluşturmadan sınıf adıyla çağrılabilir. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA FONKSİYON TANIMLAMAK • Statik Fonksiyon Örneği: 10 • • • • Tanımlanan fonksiyon Netbeans IDE’si kullanılarak yazılmıştır. ToplamaIslemi gelen sınıftır ve Java dosyasının ismi ile aynıdır. Topla fonksiyonu static olarak tanımlanmıştır ve main içerisinden nesne oluşturmadan direk topla(5,21) parametreleri ile çağrılabilmiştir. Statik olarak tanımlanmasaydı, mecburen ToplamaIslemi sınıfından bir nesne oluşturulması gerekilecekti. Uzaktan Eğitim Uygulama ve Araştırma Merkezi Java’da Döngüler JAVA’DA DÖNGÜLER • • • 12 • • Döngüler, içlerine yazılan belirli bir kodun tekrarlı olarak çalıştırılmasını sağlamaktadır. Döngüler; döngü bloğu ve önermeden oluşur. Önerme; döngünün kaç kere ve ne kadar süre döndürüleceğini belirtmektedir. Döngü bloğu; döngünün her seferinde hangi işlemi yapacağını belirtmektedir. Döngü Çeşitleri; – For Döngüsü – While Döngüsü – Do - While Döngüsü Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • For Döngüsü: – Yapılan işlemlerin belirli sayıda tekrarlanmasını sağlamaktadır. – For döngüsü daha çok sayaçlı işlemler için kullanılmaktadır. – For döngüsünün Java’da kullanımı aşağıdaki gibidir; 13 for (int i=başlangıç değeri;i<bitiş değeri;i++){ ……… } Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • For Döngüsü: – Örneğin; birden 10’a kadar olan sayıları konsolda yazdıracak for döngüsü kodu aşağıdaki gibidir. Döngü içerisinde kullanılan a tamsayı değişkeni kod içerisinde kullanılabilir. 14 Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • 15 While Döngüsü: – Döngüye girilmeden önce döngü önermesi kontrol edilmektedir, eğer önerme doğru (true) ise; döngü bloğu çalıştırılmaktadır, döngü doğru değilse (false); döngü sonlandırılmaktadır. – Önerme sağladığı sürece döngü içerisindeki işlemi yapar. – Önermenin sürekli sağladığı durumlarda, sonsuz döngüye girilebilir. – While döngüsünün Java’da kullanımı aşağıdaki gibidir; while (önerme-şart){ …. } Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • While Döngüsü: – Örneğin; birden 10’a kadar olan sayıları konsolda yazdıracak while döngüsü kodu aşağıdaki gibidir. sayac 10 ve 10’dan küçük ise while içerisindeki işlemleri yapar, 10 olduğu zaman döngü sonlanır. 16 Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • 17 Do-While Döngüsü: – Do döngüsünün tam tersi biçimindedir. – Önerme döngü içerisinde yapılan işlemlerin sonunda kontrol edilmektedir. – Döngü içerisindeki işlem zorunlu olarak en az bir kez işlem görür. – Döngü sonunda kontrol edilen önerme doğru ise; döngü tekrar çalışır; doğru değil ise döngü sonlandırılır. – Do-While döngüsünün Java’da kullanımı aşağıdaki gibidir; do{ …. }while (önerme-şart) Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA DÖNGÜLER • Do-While Döngüsü: – Örneğin; birden 10’a kadar olan sayıları konsolda yazdıracak do-while döngüsü kodu aşağıdaki gibidir. sayac 10 olana kadar döngü içerisinde işlem gerçekleştirilir. Sayac 10 olduğunda döngü sonlanır. Sayaç artırımı konsolda sayacı yazdırdıktan sonra yapılsaydı sayma işlemi 0’dan başlardı. 18 Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi Java’da Şart İfadeleri JAVA’DA ŞART İFADELERİ • Şart ifadeleri; şart sağlandığında belirlenen bir işin yapılmasını, şart sağlanmadığı taktirde başka bir işin yapılmasını sağlamaktadır. • Şart ifadeleri, programın karar vermesini sağlamaktadır. • Şart İfadeleri üçe ayrılabilir; – If Karar Yapısı – If-else Karar yapısı – Switch Karar Yapısı 20 Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • If Karar Yapısı: – Eğer şartı sağlıyorsa işlemleri gerçekleştir, şartı sağlamıyorsa işlemleri yapmadan devam et anlamında kullanılmaktadır. – If komutundan sonra parantez içerisinde şart yazılır. – If Karar yapısının Java’da kullanımı aşağıdaki gibidir; 21 If (şart ifadesi){ …. } – Şart ifadesini yazarken; ==,!=, <,<=,>,>= gibi operatörler kullanılabilir. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • If Karar Yapısı: – Örneğin; öğrencinin notu tam sayı olarak tanımlanmıştır. Eğer öğrencinin notu 50 ve 50’den büyük ise; konsola geçti yazacak değilse kaldı yazacak Java kodu aşağıdaki gibidir; 22 Tam sayı not değişkeni tanımlanmıştır ve değer ataması yapılmıştır. Eğer not değişkeninin değeri 50 ve 50’den büyük ise konsola Geçti yazacaktır. Diğer durumlarda Kaldı yazacaktır. not değişkeni 45 olduğu için konsola kaldı yazmıştır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • If Karar Yapısı: 23 – If karar yapısı içerisinde birden fazla şart ifadesi kullanılabilmektedir. – Bu şart ifadeleri && veya || operatörleri ile bağlanabilmektedir. – && operatörü ile bağlandığında «ve» anlamına gelmektedir; her iki şart doğru olduğunda işlemler gerçekleştirilmektedir. – || operatörü ile bağlandığında «veya» anlamına gelmektedir; şartlardan en az bir tanesi doğru olduğunda işlemler gerçekleştirilmektedir. – Kullanımı: VE (AND) VEYA (OR) If (şart ifadesi1 && şart ifadesi2){ …. } If (şart ifadesi1 || şart ifadesi2){ …. } Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • If - Else Karar Yapısı: – Eğer şartı sağlıyorsa işlemleri gerçekleştir, şartı sağlamıyorsa başka işlemleri yap (bu başka işlemler arasında başka if karar yapıları da olabilmektedir), hiç biri de değilse devam et anlamında kullanılmaktadır. – If – else Karar yapısının Java’da kullanımı aşağıdaki gibidir; 24 If (şart ifadesi){ …. }else{ …. } – Else ifadesi kısmına else if yazarak yeni bir şart eklenebilir. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • If - else Karar Yapısı: – Örneğin; bir sayı yazıldığında sayı 100’de büyükse konsola 100’den büyük, 50’den büyükse 50’den büyük; her ikisi de değilse 50’den küçük yazdıran Java kodu aşağıdaki gibidir; If-else yapısında ilk else’den sonra else if kullanılarak bir şart daha yazılmış. Her iki şartın olmadığı durum için ise ikinci else kodu yazılmıştır. 25 1. If – else yapısı 2. If – else yapısı Sonuçta sayi değeri 58 olduğu için 1. If-else yapısının doğru olduğu bloğa girecektir. Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • Switch Karar Yapısı: 26 – Tek bir değişkene bağlı bir şart yazıldığında; değişkenin aldığı değerlere göre farklı işlemeler yapılmak isteniyorsa switch kara yapısı kullanılır. – Switch Karar yapısın değişken tipi olarak; int, byte, short ve char tipleri kullanılabilmektedir. Diğer veri tipleri kullanılamaz. – Default; hiçbir şartı sağlamıyorsa yapılması istenenler bu kısma yazılır. – Switch Karar yapısının Java’da kullanımı aşağıdaki gibidir; switch (değişken){ case ‘değer1’: … break; case ‘değer2’: … break; case ‘değer3: … break; …… default: …. } Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA’DA ŞART İFADELERİ • Switch Karar Yapısı: – Örneğin; girilen bir karakterin ünlü harfler grubunda mı, yoksa ünsüz harfler grubunda mı olduğunun tespit edilmesi için kullanılan Java kodu aşağıdaki gibidir; 27 char tipindeki harf değişkeninin değeri a olduğu için konsola a unlu bir harftir yazılmıştır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi Uygulamalar UYGULAMALAR • UYGULAMA 1: Eğer not 90’a eşit veya büyükse konsola A, 80’e eşit veya büyükse B, 70’e eşit veya büyükse C, 60’a eşit veya büyükse D, diğer durumlarda ise E yazan Java kodunu IF-ELSE karar yapısı ile yazınız. 29 Tam sayılı not değişkenine 70 değeri atandığı için sonuç olarak konsola C karakteri yazılmıştır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi UYGULAMALAR • UYGULAMA 2: 0’dan 20’a kadar olan sayılar içerisinde tek sayı olanların konsola yazılması 30 0’dan 20’ye kadar olan sayılar içerisinde 2’ye tam olarak bölünmeyenler konsola yazdırılmıştır ve sayaç yardımıyla kaç tane tek tam sayı olduğu sayılmış ve döngü bittiğinde sayaç konsola yazdırılmıştır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi GENEL BAKIŞ • 31 • • • Diğer programlama dillerinde olduğu gibi Nesne Tabanlı olan Java programlama dilinde de fonksiyon, döngü ve şart ifadeleri bulunmaktadır. Döngüler; bir işin birden fazla kez yapılmasını sağlamaktadır. Şart ifadeleri; bir şartın sağlayıp sağlamadığını kontrol edip gerekenlerin yapılmasını sağlamaktadır. Fonksiyonlar; işlerin yapılması için kod tekrarını engellemek amacıyla yazılan komut gruplarıdır. Uzaktan Eğitim Uygulama ve Araştırma Merkezi Ders Bitti. Dinlediğiniz için teşekkürler… •Uzaktan Eğitim Uygulama ve Araştırma Merkezi