Kod yazarkən elə olur ki bu kodları idarə etmək bizə lazım olur .Yəni ki bir şərtə əsasən kodları işlətmək.Misal olaraq hər hansl bir proqram lisenziyasını səhv daxil edəndə o proqram açılmır.Məhz elə proqram doğru lisenziyanı daxil edənə kimi işləmir.Bu yazdığımız kodlarda şərt qoymağımızdan irəlii gəlir.Buna proqramlaşdırma idarə etmə ifadələri deyilir.Javada Əsas aşağakı idarə etmə ifadələri vardır
Qarşılaşdırma: If-else,switch-case,ternar
Dövrlər : while,do-while,for
Bu dərsimizdə biz əsasən qarşılaşdırma ifadələrina baxaçıq .Bəs nədər qarşılaşdırma adlanır?Çüki bizə dəyişə verilir və biz onu şərtimizlə qarşılaşdırıq əgər ödənirsə(şərt doğrudursa) yazdığımız kodlar JVM (Java Virtual Maşını) tərəfindən compile(kampliyasiya-sazlama) olunur.Əgər ödənmirsə JVM bu kodları görməzdən gəlir(Kompliyasiya olunmur,sazlanmır)
İlk əvvəl if-else ifadəsindən başlıyaq.Burada ilk əvvəl if sözü qoyulur sonra adi mötrizələrimizi açırıq () arasına məntiqi(boolean) tipdən olan şərtimizi yazırıq.Sonra bloq mötərizələrimizi yazırıq {} bu mötərizələrin arasına şərtimiz ödəndiyi halda (geri qaytardığı dəyər true olanda) JVM tərəfindən işləyəcək kodları yazırıq.Əgər şərtimiz ödənmirsə(geri qaytardığı dəyər false-dirsə ) onda JVM bloq mötərizələrin içindəki kodlara heç baxmadan proqramı sonlandırır və ya başqa kodlar varsa onları işlədir.Kiçik bir misala baxaq deyək ki dəyək ki biz proqramımızda ancaq müsbət ədədlərə işləmək istəyirik.Onda if-dən istifadə edərək verilən deyişənin sıfırdan böyük olduğu şərtini yazırıq
|
package CompuserExample;
public class Numune { public static void main(String[] args) { int a=-4; if(a>0){ System.out.println("Verilen deyisen musbetdir"); } } } |
Əgər bu proqramı Netbeansda yazaraq yoxlasanız görəcəksiniz ki işləmir.Çünki dəyişənimiz mənfidir və if mötərizələri içindəki şərt ödənmir ( false qiymətini qaytarır ) əgər proqramda kiçik bir dəyişiklik eləsəniz a=4 yazsanı onda görəcəksiniz ki çıxışa “Verilen deyisen musbetdir” yazacaq.Bunuda qeyd etmək istərdim ki şərt mötərizələrindən sonra bloq mötərizələrini qoymasaq da bu proqram işləyəcək.Amma əgər bir çox sətrdə kod yazmısınızsa mütləq bloq mötərizələri qoyun.Siz hər ehtimala qarşı if-dən istifadə etdikdə həmişə blok mötərizələrdən istifadə edin.
Biz if şərtimizdə birdən çox şərtdən istifadə edə bilərik.Necə?Dərs 005 dəki məntiqi operatorlarla.Deyək ki bizim iki deyişənimiz var a,b.Dəyişən a müsbət və dəyişən b isə mənfi olduqda onlarla işləmək istəyirik onda aşağdakı kimi bir kod yazacıq
|
package CompuserExample;
public class Numune { public static void main(String[] args) { int a=4; int b=-4; if(a>0 && b<0){ System.out.println("a deyiseni musbet b deyiseni menfidir ");
} } } |
Kodu Run edib işlətsəniz görərsiniz ki işləyəcək və çıxışa verdiyim yazını çap edəcək.Ancaq bu şərtimizdə və (and) məntiqi operatorundan istifadə etmişik.Əgər iki şərtdən biri ödənməsə,digəri ödənsə belə kod işləməyəcək.Əgər biz istəsək ki iki şərtdən ən azı birini ödəndiyi halda kodlar işləsin onda və operatorunun yerinə və ya(or) operatorunu yazacıq.
Ola bilər ki şərtimiz ödənmədiyi halda proqram sonlanmasını istəmirik və başqa kodların JVM tərəfindən oxunmasını istəyirik.Onda bloq mötərizələrin davamına else sözünü yazırıq və blok mötərizələrimiz açıb kodlarımız yazırıq.Else dilimzdə “digər” kimi tərcumə olunur yəni şətrimiz ödənmədiyində digər kodlar Run olsun kimi başa düşmək olar.İndi bəyaq ki misalı bu hala gətirək.Dəyişənimiz müsbətdirəs ekana müsbət deyilsə sıfır və mənfi ədəddir yazdırsın.
|
package CompuserExample;
public class Numune { public static void main(String[] args) { int a=-4; if(a>0){ System.out.println("Musebt"); }else{
System.out.println("Sifir ve ya menfi"); } } } |
Əgər birdən çox şərtimiz varsa,və hər şərt üçün ayrı kodların işləməsini istəyiriksə onda aşağdakı kimi bir proqram yazacıq.
|
package CompuserExample;
public class Numune { public static void main(String[] args) { int a=-4; if(a>0){ System.out.println("Musebt"); }else if(a<0){
System.out.println(" menfi"); } else{ System.out.println("Sifir"); } } } |
Switch-case ifadəsi:Bu ifadənin də iş prinsipi if kimidir.Bizim bir dəyişənimiz olur bunu Switch içərisinə alırıq və case ilə bir-bir yoxluyuruq,dəyişənin dəyiri hansı case uyğun gələrsə onun içərizində həmim case qabağındaki kodlar işlənir.Skletini bu şəkildə demək olar, Switch –dən sonra () mötərizələr arasına yoxlamaq istədiyimiz dəyişəni qoyuruq,sonra blok mötərizələri açırıq və case yazırıq qabağına isə dəyişənin qarşılaşdıraçağımız dəyəri yazırıq.Sonra : simvolunu qoyub kodlarımız yazırıq və break sözünü yazırıq.Break sözü dəyişənin dəyərinin uyğun gələn case tapdığında Switch çıxmağını sağlayır.Ən axırda default yazıb : (iki nöqtə qoyuruq) və kodları yazırıq.Əgər dəyişənimiz heç bir case dəyərinə uyğun gəlməsə onda işləyəcək kodlar məhz elə bura yazılır.Kiçik bir nümünəyə baxaq.int tipində bir dəyişənimiz var bu dəyişənin hansi dəyir tutduğunu tapmaq üçün kiçik bir Switch yazaq.
|
package CompuserExample; public class Numune { public static void main(String[] args) { int a=2;
switch(a){ case -1:System.out.println("a=-1"); break; case 0:System.out.println("a=0"); break; case 1:System.out.println("a=1"); break; case 2:System.out.println("a=2"); break; default:System.out.println("a deyiseni bu qiymetlerden ferqi bir deyerdedir"); break; } } } |
Ternar ifadəsi : İndiyə kimi baxığımız ifadələr elan olunmuş dəyişənin qiymətinə uyğun olaraq qarşılaşdırırdılar.Amma Ternar ifadəsi isə məhz elə dəyişəni elan olunan vaxt verilmiş şərt ilə qarşılaşdırır və bu şərtə uyğun olaraq ona qiymət mənimsədir.Ternar ifadəsi prinsipi əsasən belədir adi qaydada dəyişənimizi elan edirik sonra mənimsətmə işarəsini qoyuruq amma qiymət əvəzinə şərt yazırıq,bu şərtdən sonra ?(sual ) işarəsini qoyuruq və şərt ödəndiyi halda dəyişənimizə mənimsədiləcək qiyməti yazırıq.sonra : (iki nöqtə) qoyuruq və şərt ödənmədiyi halda dəyişənimizə veriləcək qiyməti yazırıq.Kiçik bir nümünəya baxaq.
|
package CompuserExample; public class IfElse { public static void main(String[] args) { int a=4;
int b=a>0?4:-5; System.out.println("b="+b);
} } |
Bu nümünədə b dəyişənin qiyməti a dəyişənin görə müəyyən olunur.Əgər a müsbətdirsaə b=4 deyilse b=-5 olur.
Əlavə materiallar istəyənlər hazırladığım slide baxa bilərlər http://www.slideshare.net/muradimanbayli/java-da-kod-yazmaa-balamaqif-else
Mövzu ilə bağlı suallarını,fikirlərinizi və təklifləriniz ya aşağdakı şərh edərək ya da yada formumuzda bizə bildirə bilərsiz.
axırıncı dəyişikliklər (12.02.12 10:57)



