If كتعبير
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 31 من 93.
لقد رأيت كيف يمكن استخدام if مضمّنًا للاختيار بين قيمتين. ولكن عندما تحتوي كتل if-else لديك على عدة عبارات، لا يزال بإمكانك استخدام البنية بأكملها كتعبير: يصبح التعبير الأخير في كل فرع هو القيمة المُعادة.
fun main() {
val score = 85
val message = if (score >= 60) {
val grade = "passing"
"You got a $grade score!"
} else {
val grade = "failing"
"You got a $grade score."
}
println(message) // يطبع: You got a passing score!
}يمكن أن يحتوي كل فرع على عبارات متعددة، لكن التعبير الأخير في الفرع هو الذي يتم إرجاعه وإسناده إلى المتغير. في هذه الحالة، تصبح السلسلة النصية الموجودة في السطر الأخير من كل كتلة قيمة message.
يعمل هذا أيضًا مع سلاسل else if:
fun main() {
val temperature = 25
val description = if (temperature > 30) {
"Hot"
} else if (temperature > 20) {
"Warm"
} else {
"Cool"
}
println(description) // يطبع: Warm
}عند استخدام if كتعبير، يكون فرع else مطلوبًا: إذ تحتاج Kotlin إلى ضمان إرجاع قيمة بغضّ النظر عن الشرط الذي يكون صحيحًا.
التحدي
سهلتم تزويدك بالمتغير التالي:
val hours = 45استخدم تعبير if يتضمن عدة عبارات في كل فرع لتحديد حالة أجر العامل وإنشاء رسالة.
أنشئ متغيرًا باسم payStatus باستخدام تعبير if:
- إذا كانت قيمة
hoursأكبر من 40:- أنشئ متغيرًا باسم
overtimeيساويhours - 40 - يجب أن يكون التعبير الأخير هو
"Overtime: $overtime extra hours"
- أنشئ متغيرًا باسم
- خلاف ذلك:
- أنشئ متغيرًا باسم
remainingيساوي40 - hours - يجب أن يكون التعبير الأخير هو
"Regular: $remaining hours until overtime"
- أنشئ متغيرًا باسم
اطبع قيمة payStatus.
جرّب بنفسك
fun main() {
val hours = 45
// TODO: اكتب الكود الخاص بك أدناه
// أنشئ متغيرًا payStatus باستخدام تعبير if
// إذا كان hours > 40: أنشئ متغير overtime وأرجع "Overtime: $overtime extra hours"
// وإلا: أنشئ متغير remaining وأرجع "Regular: $remaining hours until overtime"
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin