دورة مكتوبة و سريعة في لغة كوتلن

27 July

هذه المقالة محدتة باستمرار ولم انتهي بعد منها لذا لا تنسى زيارتنا على صفحتي على فايسبوك لتتوصل بكل جديد         بينما انا جالس في حر هذا الصيف خطرت ببالي فكرة لماذا لا الخص مميزات كوتلن في تذوينة واحد بالتاكيد انا لا استطيع ذلك فانا اتحدث عن كومة من المميزات كالبحر الذي لانهاية لكن لماذا لا احاول سيكون الامر ممتعا و جميلا وساحاول كذلك جعله منظما ان كان بامكاني ذلك . حسنا دعنا نبدا

0 - مرحبا بك في عالم كوتلن :

       كوتلن هي لغة امنة جدا هذا يعني انها تتوفر على اقل عدد ممكن من الاخطاء حيث يتم تحددها اثناء البرمجة و ليس اثناء تشغيل البرنامج هذه اللغة تعمل على JVM ان كان هذه البداية فدعك من صداع الراس هذا . في عام 2017 و في مؤتمر جوجل ثم الاعلان عن دعم كوتلن في الاندرويد بشكل رسمي خلف هذا ضجة واسعة النطاق بين مبرمجي اندرويد كمعجبين بهذه اللغة حتى سال لعابهم (لغة لم تلقى اي انتقاد) . يمكنك استعمال كوتلن في انشاء تطبيقات الاندرويد الويب او سطح المكتب . و احزر ماذا كوتلن وجافا تعملان معا و بدون ادنى مشكلة يمكنك استدعاء كوتلن من جافا و العكس كذلك .

0.5 - المتطلبات:

  • Android Studio OR Intellij
  • و لا شيء اخر

1 - كود بسيط لكوتلن :

دعونا نقوم باشهر جملة في عالم البرمجة :  !HELLO  WORLD 
fun main(args: Array<String>){
 println("Hello, world!")
}
حسنا ساقوم بشرح الكود : في كل برنامج مكتوب بلغة جافا او كوتلن او حتى C++ توجد دالة رئيسة هي التي يتم تنفيد ما بداخلها و في كوتلن هذه الدالة هي main بمعنى اخر نقطة البداية .و تسبقها كلمة مفتاحية fun .
الان ننتقل الى الدالة الاخرى println و تستعمل في الطباعة سواءا كان نصوصا او ارقام و يتم تميز النصوص من طرف البرنامج بوضعها داخل شولتين "" .في هذه الحالة سيتم طباعة Hello, world! .
في لغة كوتلن لا حاجة الى نقطة فاصلة ; اذا كانت هذه اول لغة تتعلمها ف ; تستعمل في التعبير عن انتهاء السطر البرمجي => نقطة فاصلة اختيارية في كوتلن

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

يمكنك تعريف متغير بواسطة val او var .
val : بمجرد اعطائه قيمة فلن يمكنك تغييرها بعد ذلك و يسمى ب immutable .
fun main(args: Array<String>){
 val x=10
 println(x) //10
}
لكن في حال حاولت اعادة تعريفه فستحصل على خطا و لن يتم تنفيد البرنامج .

fun main(args: Array<String>){
 val x=10
 x=12 //ERROR
 println(x) 
}
var : في حين يسمح لك var باعادة تعيين المتغيير بدون الحصول على ERROR و يسمى mutable .

fun main(args: Array<String>){
 var x=10
 x=12 
 println(x)  //12
}

2.3 -انواع المتغيرات:

في كوتلن و اغلب لغات البرمجة توجد انواع مختلفة من المتغيرات او ما يسمى ب Data Type كالحروف النصوص الارقام و المصفوفات... .
الارقام :
  • Int: min-value =-2147483648 max-value=2147483647
  • Float :دعك منه
  • Long : min-value =-9223372036854775808 max-value=9223372036854775807
  • Short : Int: min-value =-32768 max-value=32767
  • Byte : Int: min-value =-128 max-value=127
و هذا التنوع راجع الى ان الانواع التي تستقبل ارقام ضخمة تاخد مساحة كبيرة في الذاكرة مثل Long 64 bit فلا يعقل ان تخزن 1 في متغير Long  النصوص :

  • Char : يقبل حرف واحد من لوحة المفاتيح فقط
  • String : هو عبا رة عن سلسلة من الحروف Char مجتمعة
نوع اخر :
  • Boolean : يقبل قيمتين اما صحيحة true او خاطئة false

Data Type دائما تبدا بحرف capital مثلا Int .و يبقى السؤال عن الطريقة التي يتم تعريف المتغير من نوع محدد ؟
كوتلن ذكية بما فيه الكفاية لتحديد نوع المتغير المرر اليها فعند تمرير الرقم 1 فهي تعلم انك مررت Int و عند تمرير "1" فهي تعلم انك مررت نص String .
و يبقي الاختيار لك في حالة كنت ترغب في تحديده فلا يوجد فرق بين السطرين التاليين :

 var x : Int=10
 var x=10
 x="10" //Error
قابلية التغير اسم المتغير : نوع المتغير(اختياري)=القيمة  .

لا يمكنك تمرير نص الى متغير يحمل رقم بداخله او شيء كهذا  val x:Int ="Ismail" غير منطقي

2.5 -تحويل المتغيرات:

يمكنك تحويل Int الى String مثلا يمكنك تحويل 3 الى "3" و قد يتسائل البعض ما الفرق بينها الاول قابل لانجاز العمليات الحسابية كاضافة رقم اما الثاني فلا لكن لا يمكنك تحويل حرف مثلا "ص" الى  رقم لانه ليس رقما اصلا .

fun main(args: Array<String>) {
    val number="3"
    number.toInt()
    number.toDouble()
    number.toFloat()
 //...
    print(number)
}

2.8 - اضافات اخرى :

كوتلن تقبل انواع البيانات التالية كذلك
demical : و هي الاعداد الطبيعية من تحتوى على ارقام بين 0 و 9 مثل العدد 123 او 123L بالنسبة ل Long .
HexaDemical : نظام اخر يحتوى على ارقام من 0-9 و حروف من a-f مثل  0x0FF
Binaries : مثل 0b00001011 .
كوتلن لا تدعم نظام Octalيمكنك استعمال _ لجعل الارقام اكثر وضوحا .
 var billion =1_000_000_000
 println(billion) //1000000000

بالنسبة لل Float فهي تنتهي ب F .
 var float =3.14F

3 -المدخلات :

للحصول على قيمة اثناء التنفيد و ليس اثناء البرمجة فذلك يتم عبر مٌدخل input مثل هذا :

هذا في HTML و لفعل ذلك في KOTLIN :

fun main(args: Array<String>) {
    println("PLEASE ENTER YOUR NAME")
    val name=readLine() //ادخل الاسم
    println("Your name is"+name)
}



هل ترغب في مثل هذه التدوينات

اسماعيل ايت بلا

ببساطة ارغب في تجربة جديدة من التعلم من خلال مشاركة ما تعلمه يجبرني ذلك على البحث لمدة طويلة مما يجعل الموقع جديرا بالثقة

اترك لنا تعليقا

الاشتراك بالقائمة البريدية

توصل باحدث مواضيعنا و كن على اطلاع باخر اخبار وتقنيات الاندرويد