Java Script Akış Denetimi
Java Script Akış Denetimi
Her programda olduğu gibi, JavaScript`te de koşul deyimleri vardır. Bu deyimler Java ve C`de aynen kullanılmakta olan if...else deyimi ve switch deyimi. Bu deyimleri bilmeyen arkadaşlarımız için bu sayfayı hazırladım.
"if... else..." Koşul Deyimi
İlk koşul deyimimiz: if...else... (Türkçesi: eğer öyleyse...değilse...). Yazılımda veriler değerlendirilirken bir yol ayrımına, elemeye gidilebilir. Mesela belli bir değerin altındakiler için başka işlemler, üstündekiler için başka işlemler yapılabilir. Verileri böyle bir elemeye tabi tutmak için if...else... koşul deyimini kullanabiliriz. Bu deyimin genel yapısı şöyledir:
if (koşul ifadesi) işlem
else işlem
birden fazla işlem söz konusuysa,
if (koşul ifadesi)
{
İŞLEMLER
}
else
{
İŞLEMLER
}
Koşul İfadeleri
Koşul ifadesi parantez içine yazılır. Koşul ifadesi verilerin izleyeceği akışı belirler. Bu koşula uyan verilere koşul ifadesinden sonraki işlemler, bu koşula uymayan verilere ise else ifadesinden sonraki işlemler uygulanır. Koşul ifadelerini belirtirken aşağıdaki işaretlerden yararlanırız:
== Eşitlik koşulunu sorgular.
degisken == 5
!= Eşit olmama koşulunu sorgular.
degisken != 5
> Büyük olma koşulunu sorgular.
degisken > 5
>= Büyük veya eşit olma koşulunu sorgular.
degisken >= 5
< Küçük olma koşulunu sorgular.
degisken < 5
<= Küçük veya eşit olma koşulunu sorgular.
degisken <= 5
Koşul deyimleri, koşul ifadesine uyanlara işlem yapar. Uymayanlara ise else kodundan sonraki işlem yapılır. else kodu kullanma zorunluluğu yoktur, kullanılmıyorsa koşul ifadesine uymayanlar, koşul deyimine nasıl girmişlerse öyle çıkarlar.
Javascript:
<html>
<head>
<title>Koşul Deyimleri</title>
<script language="JavaScript">
//İlk fonksiyonu hazırlıyoruz.
function kabul()
{
alert("İçeri girebilirsin.");
document.write("<h1>Barımıza Hoşgeldiniz!</h1>");
}
//İkinci fonksiyonu hazırlıyoruz.
function red()
{
alert("Hoop ufaklık. Bas geri!");
document.write("<h1>18 yaşından küçükler giremez!</h1>");
}
</script>
</head>
<body>
<script language="JavaScript">
var yas=13;
if (yas >= 18) kabul()
else red()
</script>
</body>
</html>
Bu uygulamada iki fonksiyon var: kabul() ve red(). <body> bölümündeki JavaScript kodları arasında yas değişkenini ve if...else... koşul deyimini göreceksiniz. Koşul deyimi yas değişkeni 18`e eşit veya 18`den büyükse kabul() fonksiyonunu, değilse red fonksiyonunu çağırıyor. Burada yas değişkenini kod içinde 13 olarak tanımladık, bu durumda red() fonksiyonu çağrılır ve barın kapısından geri çevrilirsiniz.
"switch" Koşul Deyimi
if...else... koşul deyiminde yol ayrımı söz konusudur ve akış ikiye ayrılır. Şimdi göreceğimiz switch kodu ise akışı ikiden fazla sayıya ayırır. Yani birden fazla koşul sözkonusudur. switch koşul deyiminin genel yapısı şöyledir.
switch (ifade)
{
case değer1: işlem1
break
case değer2: işlem2
break
...
case değerN: işlemN
break
default: işlem
}
birden fazla işlem söz konusuysa,
switch (ifade)
{
case değer1 :
{
işlemler
}
break
case değer2 :
{
işlemler
}
break
...
case değerN :
{
işlemler
}
break
default:
{
işlemler
}
}
Bu koşul eyleminde değişken switch(...) kısmına yazılır. Sonra değişkenin alabileceği değerler case: (durum) kodlarının yanlarına yazılarak koşul ifadesi yaratılır ve alttaki işlemler uygulanır. Eğer case: kodlarından hiçbiri değişkenin taşıdığı değeri tutmuyorsa, default: kodunun altındaki işlemler uygulanır. (default kodunun yazılması zorunlu değildir; else kodunun yazılmasının zorunlu olmadığı gibi) Buradaki break (kes) komutu önemlidir. İşlemlerin altına break kodu yazmazsak, bir alttaki case (durum) koşuluna ait işlemler de yapılır. break kodunu işlemlerin altına koyarsak, işlemler bitince bir alttaki case koşulunun işlemlerine geçilmez ve program switch deyiminin sonundan devam eder. Buradan hareketle aynı işlemlere tabi tutulacak koşul ifadelerini alt alta yazın ve bu ifadelerden en altında olanın işlemlerine break komutunu uygulayın. Aşağıdaki uygulama konunun anlaşılmasına yardımcı olacaktır.
Javascript:
<html>
<head>
<title>Koşul Deyimleri</title>
<script language="JavaScript">
//Fonksiyonu hazırlıyoruz.
function karne(x)
{
switch(x)
{
case 10:
case 9: harf="A"
break
case 8: harf="B"
break
case 7:
case 6: harf="C"
break
case 5: harf="D"
break
default: harf="E"
}
return harf
}
</script>
</head>
<body>
<script language="JavaScript">
var isim = "Ali", puan = 8, y
y = karne(puan)
document.write(isim + " adlı öğrencinin aldığı not: " + y)
</script>
</body>
</html>
Bu uygulama bizim zamanımızdaki BAL (Bornova Anadolu) not sistemini konu ediniyor; halâ böylemi bilmiyorum. 10 üzerinden alınan notlar, harfli sisteme çevriliyor. Örneğin on üzerinden 7 veya 6 notu alanlar, "C" almış oluyor. (D`den sonra en sevdiğim nottu.)
Akış denetimi konumuz burada sona erdi. İki deyimden birer uygulama yaptım; daha fazlasını da yapmak isterdim ama henüz pek birşey öğrenmedik. İleri derslerin uygulamasında telafi ederiz.