Kod yazarken bazen bazı şartlara bağlı olarak kodlama yapmamız gerekir. Örneğin yapman geren şu işe onu değilse bunu yap.  Bu tür durumlarda kontrol yapılarını kullanmamız gerekmektedir.Bu kontrol yapıları java 3 farklı türde karşımıza çıkar. bunar; if-else,if-else if,ve swich yapılarıdır. Yapmak istediğimiz işleme hangi kontrol yapısı uyuyor ise onu kullanırız.

IF-ELSE YAPISI

Kontrol yapılarından ilk olarak if -else yapısını göreceğiz. İf-else yapısında İf kısında koşul kontrolü gerçekleşir. Eğer if kısmındaki koşul sağlanmıyor ise else kısmına geçer else’de koşul kontrolü yapılmaz if kısmındaki kontrolün aksinin gerçekleştiği kısım olarak düşünülebilir.
  1. if
  2. {
  3. //işlemler
  4. }
  5. else
  6. {
  7. //işlemin tersi
  8. }
örnek vererek açıklamak gerekirse.
  1. package f1;
  2. public class ifelseYapısı {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. int not = 50;
  6. if(not>60){
  7. System.out.println("BAŞARILI...");
  8. }
  9. else{
  10. System.out.println("BAŞARISIZ...");
  11. }
  12. }
  13. }
İlk koşulda notumuzun 60 dan büyük olup olmadığını kontrol eder notumuz 60 dan küçük olduğu için aşağıdaki sonucu ekrana yazdıracaktır.


Eğer if veya else kısmında yapılacak işlem tek bir tane ise süslü parantez { } koymamıza gerek yoktur.
  1. int not = 50;
  2. if(not>60)
  3. System.out.println("BAŞARILI...");
  4. else
  5. System.out.println("BAŞARISIZ...");

IF-ELSE IF YAPISI

Önceki anlattığımız if-else kısmında if de bir koşul mevcuttu ve else kısmında o koşulun sağlanmadığı durum işleme alınıyordu. İf-else if de ise hem if kısmında hemde else-if kısmında iki ayrı koşul kontrol edilmektedir. İlk koşul kontrol edilir sağlanıyorsa işlem yapılır sağlanmıyorsa else-if teki koşul kontrol edilir.
  1. package f1;
  2. public class deneme_14 {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. int hız =100;
  6. if(hız>80){
  7. System.out.println("Hız sınırı üstündesiniz...");
  8. }
  9. else if(hız<80 && hız>50){
  10. System.out.println("Kurallara uydugunuz için teşekkürler...");
  11. }
  12. }
  13. }
Not: Kontrol yapıların’da büyüktür(>),küçüktür(<),eşittir(==),eşit değildir(!=),mantıksal operatör olarak da(&&,¦¦) kullanılabilir.

SWITCH YAPISI

Switch, uzun uzun if kontrolü yapmak yerine bunu tek seferde yapmamıza olanak sağlayan alternatif bir kontrol döngüsüdür. Örnek vermek gerekirse, her ay yapmanız gereken farklı işleriniz olsun eğer ocak ise bunu şubat ise bunu yap demek için uzun uzun if kontrolünü kullanmamız gerekecekti. Switch ile bunu uzun uzun yapmamamıza gerek kalmadı.
  1. switch(a)
  2. {
  3. case x; // x değeri a ya eşit ise bu blok işlemi yapılır
  4. break;
  5. case y; // y değeri a ya eşit ise bu blok işlemi yapılır
  6. break;
  7. case z; // z değeri a ya eşit ise bu blok işlemi yapılır
  8. break;
  9. }
Örnek verecek olursak;
  1. package f1;
  2. public class SwitchCase {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. int gün= 7;
  6. String günler;
  7. switch (gün) {
  8. case 1: günler= "Pazartesi";
  9. break;
  10. case 2: günler = "Salı";
  11. break;
  12. case 3: günler = "Çarşamba";
  13. break;
  14. case 4: günler = "Perşembe";
  15. break;
  16. case 5: günler = "Cuma";
  17. break;
  18. case 6: günler = "Cumartesi";
  19. break;
  20. case 7: günler = "Pazar";
  21. break;
  22. default: günler = "Hafta yedi günden oluşur...";
  23. break;
  24. }
  25. System.out.println(günler);
  26. }
  27. }
Sadece int tipinde değil, short,byte,char tiplerindeki değişkenler ile de switch kontrolü yapılabilir.