جملة 'switch'
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 36 من 94.
توفر جملة switch في لغة Dart بديلاً أكثر ترتيباً لجمل if-else المتعددة عند التحقق من متغير مقابل قيم مختلفة.
void main() {
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent performance!');
break;
case 'B':
print('Good performance!');
break;
case 'C':
print('Average performance.');
break;
case 'D':
print('Below average performance.');
break;
default:
print('Invalid grade.');
break;
}
}عند التشغيل، يخرج: Good performance!
التحدي
سهلأنشئ برنامجاً يحدد درجة الطالب بناءً على نتيجة امتحانه باستخدام جملة switch:
- قم بالتصريح عن متغير صحيح (integer) باسم
examScoreبقيمة 85 - أنشئ متغيراً نصياً (string) باسم
gradeلتخزين الدرجة الحرفية - استخدم جملة
switchمع القواعد التالية: - إذا كانت
examScoreبين 90 و 100 (شاملة)، قم بتعيينgradeإلى "A" - إذا كانت
examScoreبين 80 و 89 (شاملة)، قم بتعيينgradeإلى "B" - إذا كانت
examScoreبين 70 و 79 (شاملة)، قم بتعيينgradeإلى "C" - إذا كانت
examScoreبين 60 و 69 (شاملة)، قم بتعيينgradeإلى "D" - لأي درجة أخرى، قم بتعيين
gradeإلى "F" - اطبع النتيجة بهذا التنسيق تماماً:
Score: 85, Grade: B
ملاحظة: ستحتاج إلى استخدام القسمة الصحيحة (integer division) لتحويل الدرجة إلى نطاق يعمل مع switch.
ورقة مرجعية
يوفر بيان switch في Dart بديلاً أنظف لبيانات if-else المتعددة عند التحقق من متغير مقابل قيم مختلفة.
switch (variable) {
case 'value1':
// الكود المراد تنفيذه
break;
case 'value2':
// الكود المراد تنفيذه
break;
default:
// الكود للحالات غير المتطابقة
break;
}يجب أن تنتهي كل حالة ببيان break لمنع الانتقال التلقائي للحالة التالية (fall-through). تتعامل الحالة default مع القيم التي لا تطابق أي حالة محددة.
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent performance!');
break;
case 'B':
print('Good performance!');
break;
default:
print('Invalid grade.');
break;
}جرّب بنفسك
void main() {
// قم بالتصريح عن متغير examScore هنا
int examScore = 85;
// قم بالتصريح عن متغير grade هنا
String grade;
// استخدم جملة switch لتحديد التقدير
// اطبع النتيجة
print("Score: $examScore, Grade: $grade");
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة