Dart dilinde koşul yapıları, programın belirli bir duruma göre farklı işlemler yapmasını sağlar. Bu yapılar, özellikle karar vermemiz gereken durumlarda kullanılır. Bu yazıda, if-else ve switch-case yapısına dair detaylara ve Dart dilinde nasıl kullanıldıklarına odaklanacağız.
if-else Yapısı
if-else yapısı, koşula bağlı olarak kodun bir kısmının çalıştırılmasını sağlar. Eğer koşul doğruysa if bloğu çalıştırılır. Eğer yanlışsa else bloğu çalışır.
Temel if-else Kullanımı:
void main() {
int sayi = 10;
if (sayi > 0) {
print('Sayı pozitiftir.');
} else {
print('Sayı negatiftir.');
}
}
İç içe if-else Yapıları: Birden fazla koşulun kontrol edilmesi gerektiğinde iç içe if-else yapıları kullanılır:
void main() {
int sayi = 0;
if (sayi > 0) {
print('Sayı pozitiftir.');
} else if (sayi < 0) {
print('Sayı negatiftir.');
} else {
print('Sayı sıfırdır.');
}
}
switch-case Kullanımı
switch-case yapısı, özellikle birden fazla durumu kontrol etmek gerektiğinde, if-else’in yerini alabilir. Bu yapı, genellikle belirli bir değişkenin alabileceği sınırlı sayıda değer için kullanılır ve if-else yapısına göre daha okunaklı olabilir.
switch-case Kullanımı:
void main() {
String gun = 'Cuma';
switch (gun) {
case 'Pazartesi':
print('Haftanın ilk günü.');
break;
case 'Salı':
print('Haftanın ikinci günü.');
break;
case 'Çarşamba':
print('Haftanın üçüncü günü.');
break;
case 'Perşembe':
print('Haftanın dördüncü günü.');
break;
case 'Cuma':
print('Haftanın beşinci günü.');
break;
case 'Cumartesi':
print('Haftanın altıncı günü.');
break;
case 'Pazar':
print('Haftanın yedinci günü.');
break;
default:
print('Geçersiz gün.');
}
}
if-else ve switch-case ile Haftanın Günleri Örneği
Aynı işlemi hem if-else yapısıyla hem de switch-case yapısıyla nasıl gerçekleştirebileceğimize bakalım. Haftanın atanan gun değişkenine denk gelen mesajı ekrana yazdıracağız.
void main() {
String gun = 'Salı';
if (gun == 'Pazartesi') {
print('Haftanın ilk günü.');
}
else if (gun == 'Salı') {
print('Haftanın ikinci günü.');
}
else if (gun == 'Çarşamba') {
print('Haftanın üçüncü günü.');
}
else if (gun == 'Perşembe') {
print('Haftanın dördüncü günü.');
}
else if (gun == 'Cuma') {
print('Haftanın beşinci günü.');
}
else if (gun == 'Cumartesi') {
print('Haftanın altıncı günü.');
}
else if (gun == 'Pazar') {
print('Haftanın yedinci günü.');
}
else {
print('Geçersiz gün.');
}
}
void main() {
String gun = 'Salı';
switch (gun) {
case 'Pazartesi':
print('Haftanın ilk günü.');
break;
case 'Salı':
print('Haftanın ikinci günü.');
break;
case 'Çarşamba':
print('Haftanın üçüncü günü.');
break;
case 'Perşembe':
print('Haftanın dördüncü günü.');
break;
case 'Cuma':
print('Haftanın beşinci günü.');
break;
case 'Cumartesi':
print('Haftanın altıncı günü.');
break;
case 'Pazar':
print('Haftanın yedinci günü.');
break;
default:
print('Geçersiz gün.');
}
}
if-else ve switch-case, Dart dilinde koşul yapıları arasında en yaygın kullanılan iki seçenektir. Hangi yapının kullanılacağı, çözülmek istenen probleme bağlı olarak değişir. Birden fazla durumda belirli işlemleri gerçekleştirmek gerektiğinde switch-case yapısı daha okunaklı ve düzenli olabilir. Ancak daha esnek ve karmaşık koşullarda if-else yapısı daha uygun olabilir. Dart dilini etkili bir şekilde kullanabilmek için her iki yapıyı da iyi anlamak önemlidir.