الدرس الثانى : Kotlin Basics : Operators , Numbers & Strings | أساسيات كوتلين : المعاملات , النصوص والأرقام

تم تحميل الصفحة في 1,8801544 ثانية
الدرس الثانى : Kotlin Basics : Operators , Numbers & Strings | أساسيات كوتلين : المعاملات , النصوص والأرقام

HeeAVeeN

Beginner Developer
rank
إنضم
15 مارس 2019
المشاركات
27
الإعجابات
43
النقاط
13
الإقامة
Egypt
دورة, لغة البرمجة كوتلين,
برمجة تطبيقات الهاتف النقال,
دورة في برمجة تطبيقات الأندرويد، لغة كوتلين،
أساسيات كوتلين,الدوال,الدوال المدمجة,
برمجة تطبيقات الأندرويد، فهرس الدورة، تعلن كوتلين.
Kotlin Basics : Introduction & tools | أساسيات كوتلين : المقدمة والأدوات
Kotlin Basics : Operators , Numbers & Strings
كوتلين: المعاملات , النصوص والأرقام






السلام عليكم ورحمة الله وبركاته



الدرس الثانى : Kotlin Basics : Operators , Numbers & Strings | أساسيات كوتلين : المعاملات , النصوص والأرقام

فى هذا الدرس سوف نستخدم Kotlin interpreter مُفسر أوامر كوتلين ؛
لنتعرف على الأوامر الأساسية فى اللغة


نقوم بفتح بيئة التطوير Intellij Idea
















1 - المتغيرات:

هناك نوعان من المتغيرات فى كوتلين
Mutable : قابل التعديل
Non Mutable : غير قابل للتعديل - قيمة ثابتة


مثال : قم بكتابة هذ الامر فى Kotlin Repl
كود:
var name = "Ahmed"
name = "Mohamed"
println(name)
بعد التنفيذ ستجد ان قيمة المتغير تغيرت بالفعل
لكن اذا استخدمت val ستجد ان ال Interpreter ينبهك من ان هذا النوع من المتغيرات لا يمكن تعديل قيمتة بعد اعطائة القيمة الاولية


..........................................

2 - الأرقام والمعاملات:

تقوم كوتلين بحفظ الارقام فى الذاكرة على شكل قيم primitive اولية يمعنى الشكل الذى يقوم ال CPU بالتعامل معه مباشرة
وبالرغم من ذلك تمكننا فى نفس الوقت من التعامل معها على انها Objects
مثال : نقوم بقتح Kotlin REPL او Kotlin Interpreter ثم نقوم بكتابة الاتى


كود:
var cars = 5
println(cars.plus(5).minus(2).times(2).div(4))
ثم نقوم بالضغط على ctrl + Enter لتنفيذ الامر سنجد ان النتيجة هى 5 هنا قمنا باستخدام دوال على متغير نوعه primitive , هذا النوع من المرونة ليس موجودا فى لغة الجافا
ففى الجافا اذا اردت استعمال دوال على رقم يجب انه تضعه فى متغير من النوع Reference هكذا


Java:
Float floatNum = 5.5f;
System.out.print(floatNum.intValue());
وهناك نقطة مهمه عند التعامل مع الارقام هى انه لايمكننا عمل تحويل من نوع لنوع اخر بشكل صريح فى كوتلين
مثال عند التحويل من Byte ل Int فى كوتلين نقوم بكتابة الامر التالى


كود:
var num:Byte = 1
var intNum :Int = num.toInt()
هذا النوع من التحويل يجنبنا الوقوع فى الكثير من الاخطاء التى تحدث عند التحويل من نوع لاخر
حيث انه يضمن ان التحويل سيتم بشكل سليم وبدون اى اخطاء


والان دعونا نتكلم عن خاصية تتميز به كوتلين عن غيرها وهى Null-ability
افتراضيا اى متغير فى كوتلين لا يمكن اعطائة قيمة Null
مثال قم بتجرية هذا الامر فى ال Interpreter
كود:
var cars:Int = null
ستجد تنبيها بانه لايمكن اعطاء المتغير قيمة Null
هذا بالطبع يساعد على تجنب خطأ Null pointer Exception المشهور
لكن ماذا اذا اردت اعطاء قيمة Null للمتغير
يجب عليك كتابة ذلك صراحة لل Interpreter هكذا
كود:
var cars:Int? = null
..........................................

3 - النصوص:

تتميز كوتلين بالسلاسه والمرونة عند التعامل مع اكثر من النوع من المتغير فى نفس الوقت , فإذا أردت دمج نص مع متغير نصى او رقمى
يمكنك باستخدام هذا الامر
كود:
var numOfCars= 5
var numOfMotors = 2

var txt = "I have $numOfCars cars and $numOfMotors motors , the total is ${numOfCars+numOfMotors} vehicles " ""
تتميز كوتلين بكونها اكثر ذكاءا ومرونة عند التعامل مع ال Conditions الحالات
مثال
كود:
var numOfCars = 5 // each car can has 1 persons max
var numOfPersons = 10
if (numOfPersons>numOfCars) println("There is a problem ")
else
    println("No Problem")
// when - like java switch
when (numOfPersons){
    1 -> print("Empty Cars")
        5 -> print("Full Cars")
    else -> print("In Between")
}
// Ranges
if (numOfPersons  in 6..10 ) println("Too many person")
else
    println("fair enough")
لاحظنا فى المثال السابق استخدام
when
وهى مثل switch فى الجافا الا انها اكثر مرونة حيث يمكنك التعامل مع ranges او static values اما فى الجافا
اذا كنت تستعمل switch فليس لديك خيار إلا استخدام القيم الثابتة او static values



...............................................



يُتبع في الدرس القادم؛ بإذن الله تعالى.

إذا كان لديك سؤال أو إضافة اجعلها هنا.

في أمان الله.
 
التعديل الأخير:

HeeAVeeN

Beginner Developer
rank
إنضم
15 مارس 2019
المشاركات
27
الإعجابات
43
النقاط
13
الإقامة
Egypt
اسف على التاخير فى نشر الدروس لظروف خارجة عن الارادة
سيتم نشر الدروس تباعا من اليوم
 
الإعجابات: Sanaa

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل