فوائد if statement في Dart
- تبسيط المنطق البرمجي: بدلاً من كتابة كود مكرر.
- جملة if تُستخدم لاتخاذ قرار داخل البرنامج:
بمعنى أنك تجعل البرنامج ينفذ كودًا معينًا فقط إذا تحقق شرط معين. - تحكم بالسلوك: تحدد متى يتم تنفيذ أو تجاهل أجزاء من الكود.
- تسهيل التفاعل مع المستخدم: التحقق من صحة البيانات، أو الرد بناءً على مدخلات.
- تنظيم البرنامج: يجعل البرنامج أكثر ذكاءً واستجابة للمواقف المختلفة.
1. البنية الأساسية لـ if
if (condition) {
// يتم تنفيذ هذا الكود إذا كانت الشرط true
}
Dartcondition: هو تعبير (عادةً مقارنة) يرجع true
أو false
.
إذا كان الشرط true
→ ينفذ الكود داخل {}
.
إذا كان الشرط false
→ يتجاهل الكود داخل {}
.
مثال عملي:
int age = 18;
if (age >= 18) {
print("أنت شاب");
}
###########################
int number = 10;
if (number > 0) {
print('الرقم موجب');
}
##########################
Dart2. if-else
لو الشرط الأول لم يتحقق (false
)، ينفذ كود آخر.
if (condition) {
// كود إذا كان الشرط true
} else {
// كود إذا كان الشرط false
}
Dartمثال عملي:
int temp = 25;
if (temp > 30) {
print("الجو حار");
} else {
print("الجو معتدل");
}
###########################
int number = 10;
if (number > 0) {
print('الرقم موجب');
} else {
print('الرقم سالب أو صفر');
}
###########################
String username = "yasin";
if (username == "admin") {
print('مرحبًا أيها المدير!');
} else {
print('مرحبًا $username');
}
Dart3. if-else if-else
عندما تحتاج لفحص أكثر من حالة:
if (condition1) {
// كود الشرط الأول
} else if (condition2) {
// كود الشرط الثاني
} else {
// كود إذا فشلت جميع الشروط
}
Dartمثال عملي:
int score = 85;
if (score >= 90) {
print("ممتاز");
} else if (score >= 80) {
print("جيد جداً"); // سيتم تنفيذ هذا
} else if (score >= 70) {
print("جيد");
} else {
print("مقبول");
}
############################
int number = 0;
if (number > 0) {
print('الرقم موجب');
} else if (number < 0) {
print('الرقم سالب');
} else {
print('الرقم صفر');
}
//##########################
//فحص الوقت خلال اليوم
int hour = DateTime.now().hour;
if (hour < 12) {
print("صباح الخير");
} else if (hour < 18) {
print("مساء الخير");
} else {
print("ليلة سعيدة");
}
//#######################################
//آلة حاسبة بسيطة
double num1 = 10;
double num2 = 5;
String operation = "+";
if (operation == "+") {
print(num1 + num2);
} else if (operation == "-") {
print(num1 - num2);
} else if (operation == "*") {
print(num1 * num2);
} else if (operation == "/") {
print(num1 / num2);
} else {
print("عملية غير صالحة");
}
Dart5. if مع العوامل المنطقية
if (condition1 && condition2) {
// AND: كود إذا تحقق الشرطان معاً
}
if (condition1 || condition2) {
// OR: كود إذا تحقق أحد الشرطين
}
Dartمثال عملي:
String username = "admin";
String password = "12345";
if (username == "admin" && password == "12345") {
print("تم تسجيل الدخول بنجاح");
} else {
print("اسم المستخدم أو كلمة المرور غير صحيحة");
}
Dart4. if المتداخلة (Nested if)
if (condition1) {
if (condition2) {
// كود إذا تحقق الشرطان
}
}
Dartمثال عملي:
bool isLoggedIn = true;
bool hasPremium = false;
if (isLoggedIn) {
if (hasPremium) {
print("مرحباً بالعضو المميز");
} else {
print("يمكنك ترقية حسابك إلى مميز");
}
} else {
print("الرجاء تسجيل الدخول");
}
Dart6. if المختصرة (Ternary Operator)
condition ? expression1 : expression2;
Dartمثال عملي:
int age = 20;
String status = age >= 18 ? "بالغ" : "قاصر";
print(status); // "بالغ"
Dart7. if مع القوائم والمصفوفات
List<int> numbers = [1, 2, 3];
if (numbers.isNotEmpty) {
print("المصفوفة غير فارغة");
}
if (numbers.contains(2)) {
print("الرقم 2 موجود");
}
Dart8. if مع Map
Map<String, int> ages = {"Ahmed": 25, "Sara": 30};
if (ages.containsKey("Ahmed")) {
print("عمر أحمد هو ${ages["Ahmed"]}");
}
Dart9. if مع القيم null
String? name;
if (name != null) {
print("الاسم هو $name");
} else {
print("الاسم غير معروف");
}
Dartمثال 3: فحص مدخلات المستخدم
String? input = stdin.readLineSync();
if (input == null || input.isEmpty) {
print("لم تدخل أي شيء");
} else if (int.tryParse(input) != null) {
print("لقد أدخلت رقمًا صحيحًا");
} else if (double.tryParse(input) != null) {
print("لقد أدخلت رقمًا عشريًا");
} else {
print("لقد أدخلت نصًا");
}
Dartملاحظات مهمة
- الأقواس {} اختيارية إذا كان هناك سطر واحد فقط:
if (age > 18) print("بالغ");
Dart2.يمكن كتابة if بدون else:
if (isRaining) takeUmbrella();
Dart- الفرق بين = و ==:
=
للإسناد==
للمقارنة
- الأسبقية في الشروط:
if ((a > b) && (c < d)) // الأقواس توضح الأولوية
Dartاستخدم switch
عندما يكون لديك العديد من الشروط الثابتة
الخلاصة
if
للشروط البسيطةif-else
للاختيار بين خيارينif-else if-else
لشروط متعددةternary operator
للشروط المختصرةnested if
للشروط المتداخلة
العنصر | التوضيح |
---|
if | تنفيذ الكود إذا تحقق الشرط |
if-else | اختيار بين تنفيذ كودين بناءً على تحقق الشرط أو لا |
if-else if | مقارنة عدة شروط بالتسلسل |
الفائدة الأساسية | التحكم في تدفق تنفيذ البرنامج |