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
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
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.
JAVA DA FONKSİYON TANIMLAMAK Örnek; Java nın standart main fonksiyonu incelenirse; public static void main(string[] args){ } Fonksiyon Başlığı Fonksiyon Bloğu 6 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.
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.
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; 8 public int topla(int sayi1, int sayi2){ } return sayi1+sayi2; 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.
JAVA DA FONKSİYON TANIMLAMAK 9 Statik Fonksiyonlar: 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.
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.
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ü
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++){ }
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. 14 Döngü içerisinde kullanılan a tamsayı değişkeni kod içerisinde kullanılabilir. Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır.
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){ }.
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. 16 sayac 10 ve 10 dan küçük ise while içerisindeki işlemleri yapar, 10 olduğu zaman döngü sonlanır. Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır.
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)
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. 18 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ı. Yukarıdaki kodun konsol çıktısı yandaki gibi olacaktır.
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. 20 Ş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ı
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.
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.
JAVA DA ŞART İFADELERİ 23 If Karar Yapısı: 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) If (şart ifadesi1 && şart ifadesi2){. } VEYA (OR) If (şart ifadesi1 şart ifadesi2){. }
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.
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; 25 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. 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.
JAVA DA ŞART İFADELERİ 26 Switch Karar Yapısı: 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:. }
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.
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.
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.
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.
Ders Bitti. Dinlediğiniz için teşekkürler