الجملة الشرطية

كما نعلم جميعنا أن الاحتمالات والمقارنات أمر وارد في الحياة كما أن اختبار الأشياء يجعلنا نتحقق من قيمتها كمثال بسيط عندما يكون لديك مادة دراسية معدل النجاح بها من ٦٠ فأنت هنا سوف تبدأ اختبار درجتك التي حققتها هل هي اكبر او اقل من معدل النجاح ، وإن كانت أكبر فمن الطبيعي سوف يتبادر لذهنك هل أنا ناجح بدرجة ممتاز أم جيد ؟.

من هذه المقدمة يتضح لنا جلياً أن الدرس سوف يكون عن الجمل الشرطية وطريقة كتابتها .

في البداية سنوضح أن الجمل الشرطية في لغة Kotlin هي ( if ..else – when )

 الجملة if :-

الصيغة العامة :

if (testExpression) {

// codes to run if testExpression is true

}

else {

// codes to run if testExpression is false

}

يمكن كتابة if الشرطية لتحقق من شرط واحد وتكون بشكل بسيط

اذا تحقق الشرط نفذ مابداخل if اذا لم يتحقق تجاوز بدون ان يكون هناك اي احتمال آخر.

if ( 5 < 10 )

   print( ”العدد خمسة اقل من العدد عشرة ، متفاجئ حقيقةً“ )

if ..else :-

ربما يكون لدينا احتمالين لل if كما سنلاحظ في المثال القادم ولذلك سنحتاج الى استخدام else  طريقة كتابة شرط بسيط عبارة الشرط وإذا لم يتحقق فسوف يتنفذ أمر أخر ،

مثال:

هنا سوف يطلب من المستخدم إدخال اسم حسناً و ومن ثم يقوم بمقارنة الاسم المدخل هل هو أحمد؟

إذا كان نعم فسيطبع له مرحباً أحمد وإذا لم يتحقق الشرط وأدخل المستخدم اسم أخر سوف يطبع له خطأ .

println("Please enter your name :")
var Name:String= readLine()!!

if(Name == "Ahmed")
    println("Welcome $Name")
else
    println("Error")

ناتج تنفيذ :-

Welcome Ahmed


if ..else if :-

ربما تحتاج او لديك اكثر من شرط تريد التحقق اي منهم قد تنفذ .

 مثال :-

مثلا كموضوع المادة الدراسية التي طرحناها في المقدمة ، جميعنا نعلم أن من يحصل على ٩٠ وأكثر يأخذ ممتاز ، ومن يحصل من ٨٠ إلى ٨٩ يأخذ جيد جداً … وهكذا .

println("Please enter your mark :")
var mark: Float = readLine()!!.toFloat()

if(mark >= 90)
    println("$mark Excellent")
else if(mark >= 80 && mark < 90)
    println("$mark Very Good")
else if(mark >= 70 && mark < 80)
    println("$mark Good")
else if(mark >= 60 && mark < 70)
    println("$mark study hard")
else
    println("$mark  failed")

ناتج تنفيذ :-

Please enter your mark :

78

78.0 Good


If المتداخلة :-

بعض الشروط او المتطلبات تعتمد على متطلبات متداخلة .

الصيغة العامة :-

if( boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */

   if(boolean_expression 2) {

      /* Executes when the boolean expression 2 is true */

   }

}

مثلاً اردنا التحقق من رقمين a & s اذا كان a يساوي 100 تحقق الشرط سيدخل داخل if ليجد if اخرى تريد التحقق من هل s تساوي 200 وهكذا .. الخ .

  var a = 100
    var s = 200
    /* check the boolean condition */
   if( a == 100 ) {
     /* if condition is true then check the following */
      if( s == 200 ) {
         /* if condition is true then print the following */
       print("Value of a is 100 and s is 200\n" );
      }
 }

التعبيرات مع if :

من الاشياء الجميلة في kotlin ولا توجد في جافا هي استخدام if في تعريف المتغيرات مباشرة واعادة قيمة للمتغير المعرف .
يعكس هذا اختصار كبير في كتابة الشفرات البرمجية وترتيبها .

مثال :

val a = 100
val b = 200

val max = if (a < b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}
print("max = $max")

عرفنا متغيرين واسندنا لهم قيم وفي المتغير الثالث عرفنا max سيحصل على القيمة الاعلى بين a & b.

يجب ان تحتوي if على احتمالين او اكثر لستخدمها كـExpression