if Statment

فوائد if statement في Dart
  • تبسيط المنطق البرمجي: بدلاً من كتابة كود مكرر.
  • جملة if تُستخدم لاتخاذ قرار داخل البرنامج:
    بمعنى أنك تجعل البرنامج ينفذ كودًا معينًا فقط إذا تحقق شرط معين.
  • تحكم بالسلوك: تحدد متى يتم تنفيذ أو تجاهل أجزاء من الكود.
  • تسهيل التفاعل مع المستخدم: التحقق من صحة البيانات، أو الرد بناءً على مدخلات.
  • تنظيم البرنامج: يجعل البرنامج أكثر ذكاءً واستجابة للمواقف المختلفة.

1. البنية الأساسية لـ if

if (condition) {
  // يتم تنفيذ هذا الكود إذا كانت الشرط true
}
Dart

condition: هو تعبير (عادةً مقارنة) يرجع true أو false.

إذا كان الشرط true → ينفذ الكود داخل {}.

إذا كان الشرط false → يتجاهل الكود داخل {}.

مثال عملي:

int age = 18;

if (age >= 18) {
  print("أنت شاب");
}
###########################

int number = 10;

  if (number > 0) {
    print('الرقم موجب');
  }

##########################
Dart

2. 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');
}
Dart

3. 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("عملية غير صالحة");
}
Dart

5. if مع العوامل المنطقية

if (condition1 && condition2) {
  // AND: كود إذا تحقق الشرطان معاً
}

if (condition1 || condition2) {
  // OR: كود إذا تحقق أحد الشرطين
}
Dart

مثال عملي:

String username = "admin";
String password = "12345";

if (username == "admin" && password == "12345") {
  print("تم تسجيل الدخول بنجاح");
} else {
  print("اسم المستخدم أو كلمة المرور غير صحيحة");
}
Dart

4. if المتداخلة (Nested if)

if (condition1) {
  if (condition2) {
    // كود إذا تحقق الشرطان
  }
}
Dart

مثال عملي:

bool isLoggedIn = true;
bool hasPremium = false;

if (isLoggedIn) {
  if (hasPremium) {
    print("مرحباً بالعضو المميز");
  } else {
    print("يمكنك ترقية حسابك إلى مميز");
  }
} else {
  print("الرجاء تسجيل الدخول");
}
Dart

6. if المختصرة (Ternary Operator)

condition ? expression1 : expression2;
Dart

مثال عملي:

int age = 20;
String status = age >= 18 ? "بالغ" : "قاصر";
print(status); // "بالغ"
Dart

7. if مع القوائم والمصفوفات

List<int> numbers = [1, 2, 3];

if (numbers.isNotEmpty) {
  print("المصفوفة غير فارغة");
}

if (numbers.contains(2)) {
  print("الرقم 2 موجود");
}
Dart

8. if مع Map

Map<String, int> ages = {"Ahmed": 25, "Sara": 30};

if (ages.containsKey("Ahmed")) {
  print("عمر أحمد هو ${ages["Ahmed"]}");
}
Dart

9. 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
ملاحظات مهمة
  1. الأقواس {} اختيارية إذا كان هناك سطر واحد فقط:
if (age > 18) print("بالغ");
Dart

2.يمكن كتابة if بدون else:

if (isRaining) takeUmbrella();
Dart
  1. الفرق بين = و ==:
    • = للإسناد
    • == للمقارنة
  2. الأسبقية في الشروط:
if ((a > b) && (c < d)) // الأقواس توضح الأولوية
Dart

استخدم switch عندما يكون لديك العديد من الشروط الثابتة

الخلاصة
  • if للشروط البسيطة
  • if-else للاختيار بين خيارين
  • if-else if-else لشروط متعددة
  • ternary operator للشروط المختصرة
  • nested if للشروط المتداخلة
العنصرالتوضيح
ifتنفيذ الكود إذا تحقق الشرط
if-elseاختيار بين تنفيذ كودين بناءً على تحقق الشرط أو لا
if-else ifمقارنة عدة شروط بالتسلسل
الفائدة الأساسيةالتحكم في تدفق تنفيذ البرنامج