
JAVA DERSLERİ ANASAYFA ÖNCEKİ DERS SIRADAKİ DERS
Konu başlığına tıklayarak detayları görebilirsiniz!!!
if ifadelerine ve örneklere geçmeden önce sizlere if ifadelerinde kullanılan bazı operatörler hakkında bilgi vermek isterim. if ifadelerinde değişen şartlara göre bazı karşılaştırmalar yaparak sonuca ulaşırız. Bu noktada devreye bu karşılaştırmaları yapabilmemiz için kullanılan operatörler (operators) girer. Bu operatörleri kullanarak önümüzdeki derslerde bir çok örnek oluşturacağız. Bahsettiğimiz karşılaştırma opratörleri:
== Eşitlik karşılaştırma operatörü
!= Eşit değildir karşılaştırma operatörü
< Küçüktür karşılaştırma operatörü
> Büyüktür karşılaştırma operatörü
=< Küçük Eşit karşılaştırma operatörü
>= Büyük Eşit karşılaştırma operatörü
&& Ve operatörü
|| Veya operatörü
Bu dersimizde if ile ilgili bilgi edineceğiz. Çoğunuzun bildiği gibi if İngilizce'de "eğer" anlamına gelmektedir. Java'da da if ifadesini, tayin ettiğimiz bir şart sağlanıyor mu sağlanmıyor mu diye kontrol etmek için kullanıyoruz. Bunun yanısıra eğer şart sağlanıyorsa ne yapılmalı, sağlanmıyorsa ne yapılmalı gibi durumları da belirtebiliyoruz.
Yine her zaman yaptığımız gibi Ders05_If adında bir class oluşturup, main metodumuzu yazıyoruz.
public class Ders05_If {
public static void main (String[] args){
Örnek çalışmamızda kullanıcıdan yaşını girmesini istiyoruz. Yaşına bağlı olarak x değişkeni için yaş 21'den küçükse şartını belirtip, küçükse ne yapması gerektiğini söylüyoruz. Şartı normal parantezler içerisinde belirtip, şartın sağlanması durumunda ne yapacağını süslü parantez içerisinde belirtiyoruz. Burada yaptığımız kişinin alkol almaya yaşı yetiyor mu, yetmiyor mu denetimini yapıp, yetiyorsa ne yapılacak yetmiyorsa ne yapılacak onu belirtmektir. Yani yaşı 21'den küçükse alkol alamaz, 21'den büyükse alkol alabilir diye belirttik.
System.out.println("Yaşınız:"); Scanner girdi = new Scanner (System.in); int x = girdi.nextInt(); if (x < 21) { System.out.println("Alkol satışı yapılamaz!!"); }
Şartın sağlanamadığı durumu else ifadesi ile belirtiyoruz. Yani yaş 21'den büyükse ne yapılması gerektiğini bu kısımda söyledik.
else { System.out.println("Alkol satışı yapılabilir!!"); } } }
if ya da else birer tane olmak zorunda değil. Birden fazla şartın denetimini de yapmak için kullanabiliriz.
Daha önce öğrendiğimiz gibi Scanner ve System.in ifadelerini kullanıcıdan girdi almak için kullanıyoruz. Bu kısımları silip İstersek direk int x = 20 şeklinde bir ifadeyle direk değişkenimizle ilgili bir denetim de yapabilirdik. x değişkeninin de değerini değiştirerek sonucun da değiştiğini görebiliriz.
TOPLU DERS KODLARI:
public class Ders05_If { public static void main (String[] args){ System.out.println("Yaşınız:"); // Kullanıcı için bilgi mesajı giriyoruz Scanner girdi = new Scanner (System.in); // Kullanıcıdan yaşını girmesini istiyoruz int x = girdi.nextInt(); // If komutunun amacı belirlediğimiz şartın sağlanıp sağlanmadığını kontrol etmektir if (x < 21) { // Eğer kullanıcının girdiği rakam 21'den küçükse System.out.println("Alkol satışı yapılamaz!!"); // Satış yapılamaz diyoruz } // else kısmında yukarıdaki şart sağlanmıyorsa ne yapması gerektiğini belirtiyoruz else { System.out.println("Alkol satışı yapılabilir!!"); // 21'den büyükse ne yapılacağını belirtiyoruz } } }
DERS EKRAN GÖRÜNTÜSÜ

Bu örneğimizde sitemizde veya programımızda kullanıcımızın üyeliği var mı, varsa ne tür bir üyeliği var if, else, else if ifadelerini kullanarak bunu kontrol edeceğiz.
Ders06_Else_If adında bir class oluşturup main metodumuzu yazıyoruz.
public class Ders06_Else_If {
public static void main (String[] args){
Bu noktada farklı bir değişken türü kullanarak doğru (true) veya yanlış (false) ifadelerini tutabileceğimiz siteUyeligi adında bir boolean değişkeni oluşturuyoruz. Burada kullanıcı üye mi değil mi onu kotnrol edeceğiz. Değikenimizin değerini true yani doğru olarak atıyoruz. Bir de kullanıcının üyelik statüsünü kontrol amacıyla uyelikStatusu adında String değişkeni oluşturuyoruz. Bu değişkenimizin değerini de "VIP" olarak atıyoruz.
boolean siteUyeligi = true; String uyelikStatusu = "VIP";
Ardından if ifademizi yazmaya başlıyoruz. Burada dikkat etmemiz gereken if ifadelerin de eşitliği denetlemek istiyorsak tek eşittir (=) yerine çift eşittir (==) kullanıyoruz. Yani atama operatörü olan eşittir tek kullanılıyor, sorgulama için kullanılan eşittir çift olarak kullanılmaktadır. && operatörü de ve anlamına gelmektedir. İki şartında sağlanması gereken durumlarda kullanırız.
if (uyelikStatusu == "VIP" && siteUyeligi == true) { System.out.println("VIP bölümümüze hoşgeldiniz!!"); }
Örneğimizde iki şartı denetleyeceğimiz için ya da birden fazla şartı denetleyeceğimiz için matematikten bildiğimiz ve (&&), veya (||), operatörlerini kullanıyoruz. ve operatörü her iki şartın doğru olmasını istediğimizde, veya (||) operatörü sadece bir şartın veya iki şartın da doğru olabileceği durumlarda kullanılabilmektedir.
Biz her iki şartımızında doğru olmasını istediğimizden ilk if kısmında ve (&&) operatörünü kullanıyoruz. Eğer şartlarımız karşılanıyorsa System.out.println("VIP Bölümümüze hoşgeldiniz!"); şeklinde istediğimiz şeyi yazdırıyoruz.
else if kısmında sadece üyelik var mı yok mu kontrol ederek, statüsüne göre dönüş yap diyoruz. Yani üyeliği var ama "VIP" değilse ne dönmesi gerektiğini söylüyoruz. Burada eşit değildir (!=) ifadesini kullanıyoruz, karşılaştırma yapmak için farklı kullanımları görelim diye
else if (siteUyeligi != false) { System.out.println("VIP hizmetlerimizden faydalanamazsınız !!"); }
Son kısımda ise kullanıcının hiç üyeliğinin olmadığı durumlarda ne yapması gerektiğini söylüyoruz programa. Bu da doğal olarak kullanıcıya üye olmasını teklif etmek oluyor.
else { System.out.println("Sitemize üye olarak içeriği görebilirsiniz !!"); } } }
TOPLU DERS KODLARI:
public class Ders06_Else_If { public static void main (String[] args){ boolean siteUyeligi = true; // bu değişken değerini false yaparsak alacağımız çıktı da değişir String uyelikStatusu = "VIP"; // if içerisinde eşitliği sorguluyorsak iki adet eşitti (==) kullanmamız gerekir // Ve opertaörü olarak && ifadesini kullanıyoruz. Bunu kullandığımızda her iki durumunda sağlanması şarttır. if (uyelikStatusu == "VIP" && siteUyeligi == true) { System.out.println("VIP bölümümüze hoşgeldiniz!!"); // sorguladığımız her iki şartta doğruysa bu döner } else if (siteUyeligi != false) { // eşit değildir için != ifadesini kullanıyoruz. System.out.println("VIP hizmetlerimizden faydalanamazsınız !!"); // uyelikStatusu = "Gold"; yaparsak bu döner } else { // Üye değilse üyelik öneriyoruz, siteUyeligi = false; yaparsak bu döner System.out.println("Sitemize üye olarak içeriği görebilirsiniz !!"); } } }
DERS EKRAN GÖRÜNTÜSÜ:

Bu dersimizde if konusunda bazı kodları daha kısa yazarak yine aynı sonuca ulaşmamızı sağlayacak bir örnek yapacağız. Bu da bilmek zorunda olmadığınız kullanımlardan biri ama aşina olmanız veya daha pratik işlemlerde kullanabilmeniz amacıyla değinmek istedim Ders07_If_Kisaltma adında bir class oluşturup main metodumuzu yazıyoruz. Bir önceki dersimizden aynı değişkenleri kullanıyoruz.
public class Ders07_If_Kisaltma { public static void main (String[] args){ boolean siteUyeligi = true; String uyelikStatusu = "VIP";
Yine bir önceki dersimizdeki örnek üzerinden giderek, üyelik var mı yok mu denetlemek için bu sefer direk System.out.println kullanıyoruz. Bildiğiniz gibi bu komut ekrana yani konsola birşeyler yazdırmamızı sağlıyordu. Örneğimizde hem sorgulamayı hem de döndürmesini istediğimiz ifadeyi aynı satırda belirtiyoruz. Her şartın sağlanıp sağlanmadığını kontrol etmek için aralarına iki nokta (:) koyup, diğer şartı yazıyoruz. Sorgulamayı yapması için de soru işareti (?) koyuyoruz.
System.out.println (siteUyeligi == true) && (uyelikStatusu == "VIP") ? "VIP bölümümüze hoşgeldiniz!!" : (siteUyeligi != true) ? "Sitemize üye olarak içeriği görebilirsiniz!!" : "VIP hizmetlerimizden faydalanamazsınız!!"); } }
Normalde her şart için ayrı ayrı birer System.out.println kullanıyorduk. Ama örneğimizde tek System.out.println kullanarak aynı işi yaparak aynı sonuca ulaşmış oluyoruz.
TOPLU DERS KODLARI
public class Ders07_If_Kisaltma { public static void main (String[] args){ boolean siteUyeligi = true; String uyelikStatusu = "VIP"; // Bir önceki dersimizde yazdığımız kod yerine aynı işleve sahip bu kısa kodu yazabiliriz // Sorgulamada her şarttan sonra soru işareti (?) koyup sonrasında ne döndürmesi gerektiğini yazıyoruz // Sorgulamayı bitirip bir sonraki sorgulamaya geçmek için (:) iki nokta üstüste koyuyoruz System.out.println (siteUyeligi == true) && (uyelikStatusu == "VIP") ? "VIP bölümümüze hoşgeldiniz!!" : (siteUyeligi != true) ? "Sitemize üye olarak içeriği görebilirsiniz!!" : "VIP hizmetlerimizden faydalanamazsınız!!"); } }
DERS EKRAN GÖRÜNTÜSÜ

If ifadelerini kısaltıp aynı sonuca ulaşmak için kullanılan bir başka ifade de switch ifadesidir. switch bildiğiniz gibi İngilizce'de değiştir anlamına gelmektedir. İkisi birbirine benzer ama daha yaygın kullanımını göreceğiniz if olacaktır her zaman.
Örneğimizde yine konsoldan veri almak için kullandığımız Scanner paketini import ediyoruz.
import java.util.Scanner;
Sonrasında Ders08_Switch isimli class'ımızı oluşturup main metodumuzu yazıyoruz.
public class Ders08_Switch { public static void main (String[] args){
Kullanıcının konsola bir rakam girmesi için r1 isimli birScanner objesi oluşturuyoruz. Ardından int türünden rakam isimli bir değişken oluşturarak kullanıcının girdiği sayıyı tutmasını sağlıyoruz.
System.out.println ("Bir Rakam Giriniz: "); Scanner r1 = new Scanner (System.in); int rakam = r1.nextInt();
switch komutu ile rakam isimli değişkenimizde belirli durumlara göre birşeyler döndürmesini söylüyoruz. Döndürmesini istediğimiz ifadeleri de case yani İngilizcesi durum olan kelime ile belirtiyoruz. Program hangi case sağlanıyorsa bize ona göre sonuç verecektir. case sadece parantez içinde belirttiğimiz durum oluştuğunda devreye giriyor.
switch(rakam) { case(1): System.out.println ("Bir girdiniz"); break; case(2): System.out.println ("İki girdiniz"); break; case(3): System.out.println ("Üç girdiniz"); break; default: System.out.println ("Üçten büyük bir sayı girdiniz"); break; } } }
Burada en önemli nokta her case'in sonuna break; ile birlikte noktalı virgül koymaktır. Eğer bunu yapmazsak program istediğimiz sonucu vermiş olsa bile bütün durumları yani case'leri sorgulyacaktır. break; ile aslında programa sorgulama istediğimiz sonuca ulaşıyorsa başka sorgulama yapamana gerek yok artık çıkabilirsin diyoruz. Sizler de break kısımlarını kaldırıp deneme yapabilirsiniz. İstediğiniz sonucu bulmasına rağmen 3 şartın da sorgulandığını göreceksiniz.
switch ile birlikte yapacağımız bir başka değişiklik de else değil default kullanmak olacaktır. Yani case'ler dışında bir durum oluştuğunda ne yapılması gerektiğini default kısmında belirtiyoruz. Bir bakıma else ile aynı işlevi görüyor.
TOPLU DERS KODLARI
public class Ders08_Switch { public static void main (String[] args){ // Kullanıcıdan bir rakam girmesini istiyoruz System.out.println ("Bir Rakam Giriniz: "); // Kullanıcının rakam girebilmesi için r1 isimli bir Scanner objesi oluşturuyoruz Scanner r1 = new Scanner (System.in); int rakam = r1.nextInt(); switch(rakam) { // Break eğer sorgulamamız şartları karşılıyorsa çık anlamına geliyor onu yazmasak sorgulama sonuna kadar devam eder case(1): System.out.println ("Bir girdiniz"); break; // Her case bir durumu/şartı temsil ediyor case(2): System.out.println ("İki girdiniz"); break; case(3): System.out.println ("Üç girdiniz"); break; default: System.out.println ("Üçten büyük bir sayı girdiniz"); break; // Default bir bakıma else gibi önceki şartlar sağlanmadığında ne yapılacağını belirtiyor } } }
DERSLE İLGİLİ EKRAN GÖRÜNTÜSÜ VE KONU ÖZETİ

Java'da while kelimesini yine İngilizce'deki anlamıyla yani iken anlamıyla kullanmaktayız. Ders09_While adında bir class oluşturup her zamanki gibi main metodumuzu yazıyoruz.
public class Ders09_While {
public static void main (String[] args){
Örneğimizde olduğu gibi 4 değerine sahip int türünden bir sayi değişkeni oluşturuyoruz.
int sayi = 4;
sayi değişkeni sıfırdan büyükken ne yapması gerektiğini bir while döngüsü içerisinde belirtiyoruz. sayi değişkenimiz 4 olduğu için while döngüsü içerisinde "Sayı İşlemi" adını verdiğimiz bir işlemle sayi değişkenimiz sıfırdan büyük ve dörtten küçük iken birer birer geriye doğru say diyoruz. Bunu döngümüzde daha önce öğrendiğimiz sayi--; kısaltma ifadesiyle bunu sağlıyoruz.
while (sayi > 0) { System.out.println("Sayı İşlemi:" + sayi); sayi--; }
while ile do while arasındaki fark while'da önce sorgulama yapıp sonra işlemi gerçekleştiriyoruz, do while'da ise tam tersi, yani do while şart doğru olmasa bile işlemi yapar ve ekrana yazdırır. Çünkü işlemi yapmayı en sona bırakır. while ise sorgulama gereklilikleri/şartları karşılanmıyorsa işlem sonuçsuz olduğu için hiçbirşey döndürmez.
Bir örnekle gösterecek olursak 5 değerine sahip int türünden bir rakam değişkeni oluşturuyoruz.
int rakam = 5;
do while'da do ile yapılmasını istediğimiz işlemi başa yazıyoruz. while'da ise tam tersini yapıyorduk. İlk olarak rakam değişkenini bir azalt diyoruz ama hangi durumda olduğunu bir dahaki adımda belirteceğiz.
do { System.out.println("Rakam İşlemi:" + rakam); rakam--; }
Az önce belirttiğimiz gibi rakam değişkenini hangi durumda azaltması gerektiğini bu adımda while ile belirtiyoruz. rakam değişkeni sıfırdan büyükken veya sıfıra eşitken ne yapılması gerektiğine dair kodumuzu yazıyoruz. Ama istediğimiz sonuç çıkmamasına rağmen sorgulamayı sonradan yaptığından program bize rakamın kendini yazacaktır.
while (rakam > 0 && rakam == 2); } }
Java'da while ile for dögüsünün yapabildiklerini, for ile de while döngüsünün yapabildiklerini yapabiliriz.
TOPLU DERS KODLARI:
public class Ders09_While { public static void main (String[] args){ int sayi = 4; // sayi sıfırdan büyükken sayi--; ile sayıyı bir azalt diyoruz. Sayımız 4 olduğu için 4'ten geriye sayacaktır. while (sayi > 0) { System.out.println("Sayı İşlemi:" + sayi); sayi--; } int rakam = 5; // do while'da yapmak istenilen işlemi başa yazıyoruz while'ın tersine. İşlem istediğimizi vermese bile rakamı ekrana yazar. do { System.out.println("Rakam İşlemi:" + rakam); rakam--; } // Rakam sıfırdan büyükken ve ikiye eşitken rakamı bir azalt diyoruz while (rakam > 0 && rakam == 2); } }
DERSLE İLGİLİ EKRAN GÖRÜNTÜSÜ VE KONU ÖZETİ
