دورة مكتوبة و سريعة في لغة كوتلن
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
- Char : يقبل حرف واحد من لوحة المفاتيح فقط
- String : هو عبا رة عن سلسلة من الحروف Char مجتمعة
نوع اخر :
- Boolean : يقبل قيمتين اما صحيحة true او خاطئة false
كوتلن ذكية بما فيه الكفاية لتحديد نوع المتغير المرر اليها فعند تمرير الرقم 1 فهي تعلم انك مررت Int و عند تمرير "1" فهي تعلم انك مررت نص String .
و يبقي الاختيار لك في حالة كنت ترغب في تحديده فلا يوجد فرق بين السطرين التاليين :
var x : Int=10
var x=10
x="10" //Error
قابلية التغير اسم المتغير : نوع المتغير(اختياري)=القيمة .
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)
}
اترك لنا تعليقا