English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس Kotlin الأساسية

تحكم Kotlin

الوظائف في Kotlin

السلاسل في Kotlin

Kotlin منظمات الأنظمة

المتغيرات و الأنواع الأساسية في Kotlin

في هذا الدرس، ستتعلم المتغيرات وكيفية إنشائها وأنواع البيانات الأساسية التي يدعمها Kotlin لإنشاء المتغيرات.

كما تعلمون، المتغيرات هي مواقع في ذاكرة (منطقة التخزين) تستخدم لتخزين البيانات.

لإشارة إلى منطقة التخزين، يجب أن تكون كل متغير له اسم فريد (مؤشر). تعرف علىكيفية تسمية المتغيرات في Kotlin؟المزيد من المعلومات

كيفية إعلان المتغيرات في Kotlin؟

لإعلان المتغيرات في Kotlin، استخدم كلمات المفتاح var أو val. إليك مثال:

var language = "French"
val score = 95

سيتم مناقشة الفرق بين var و val في هذا النص لاحقًا. دعونا نركز الآن على إعلان المتغيرات.

في هذا السياق، language هو متغير من نوع String، وscore هو متغير من نوع Int. لا تحتاج إلى تحديد نوع المتغير؛ Kotlin سيعين النوع لك تلقائيًا. يعرف المُراجع هذا من خلال التعبير التهيئة (في البرنامج السابق، "French" هو نص، و95 هو قيمة عددية) تقدير النوع.

لكن إذا كنت ترغب في تنفيذ العمليات التالية، يمكنك تحديد النوع بوضوح:

var language: String = "French"
val score: Int = 95

في المثال السابق، قمنا بتهيئة المتغيرات أثناء الإعلان. ولكن هذا ليس ضروريًا. يمكنك إعلان المتغير وتحديد نوعه في جملة واحدة، ثم تهيئته في جملة أخرى في البرنامج.

var language: String // تخصيص متغير من نوع String
... .. ...
language = "French" // تخصيص المتغير
val score: Int // تخصيص متغير من نوع Int
... .. ...
score = 95 // تخصيص المتغير

إليك بعض الأمثلة الخاطئة:

var language // خطأ 
language = "French"

في هذا السياق، لم يتم تحديد نوع المتغير language بشكل واضح، ولا تم تخصيص المتغير أثناء عملية التخصيص.

var language: String
language = 14 // خطأ

في هذا السياق، نحاول تخصيص قيمة 14 (قيمة عددية) لمتغير من نوع مختلف (String)، مما يؤدي إلى ارتطام.

الفرق بين var و val

  • val(مرجع غير قابل للتغيير) - لا يمكن تغيير المتغيرات التي تم تخصيصها باستخدام كلمة المفتاح val بعد التخصيص. إنها تشبه متغيرات final في Java.

  • var(مرجع قابل للتغيير) - يمكن تغيير متغيرات تم تخصيصها باستخدام كلمة المفتاح var في وقت لاحق في البرنامج. إنها تشبه متغيرات Java التقليدية.

إليك بعض الأمثلة:

var language = "French"
language = "German"

في هذا السياق، يتم إعادة تخصيص قيمة المتغير language إلى German. لأن المتغير تم تخصيصه باستخدام var، يمكن تشغيل هذا الكود بشكل مثالي.

val language = "French"
language = "German" // خطأ

وفي المثال السابق، لا يمكنك إعادة تخصيص قيمة variable language إلى German لأن هذا المتغير تم تخصيصه باستخدام val.

الآن، بعد أن تعرفت على ما هو متغير Kotlin، حان وقت تعلم القيم المختلفة التي يمكن أن تأخذها متغيرات Kotlin.

أنواع Kotlin الأساسية

Kotlin لغة ثابتة النوع تشبه Java. أي أن نوع المتغيرات معروف أثناء التجميع. على سبيل المثال،

val language: Int
val marks = 12.3

في هذا السياق، يعرف المترجم أن نوع language هو Int، وأن marks هو نوع Double قبل التجميع.

يمكن تصنيف أنواع التضمين في Kotlin إلى:

  • رقم (رقم)

  • Characters (الرموز)

  • Booleans (البيانات الحقيقية)

  • Arrays (المدخلات)

نوع البيانات العددية Kotlin (Numbers)

أرقام Kotlin تشبه Java. هناك 6 أنواع مدمجة للعدد.

  • Byte

  • Short

  • Int

  • Long

  • Float

  • Double

1،نوع البيانات Byte

  • مجال قيم نوع البيانات Byte يتراوح بين -128 إلى 127 (رقم عشري ثنائي ذو إشارة 8 بت).

  • إذا كان يمكن تحديد قيمة المتغير بين [-128،127]، يمكن استخدامه بدلاً من Int أو أنواع البيانات العددية الأخرى لتوفير الذاكرة.

funُmain(argsُ:ُArray<String>)ُ{
    السطر val range: Byte = 112
    println("$range")
    // الكود التالي يظهر خطأ. لماذا؟
    // السطر val range1: Byte = 200
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

112

2،نوع البيانات Short

  • مجال قيم نوع البيانات Short يتراوح بين -32768 إلى 32767 (رقم عشري ثنائي ذو إشارة 16 بت).

  • إذا كان يمكن تحديد قيمة المتغير بين [-32768،32767]، يمكن استخدامه بدلاً من أنواع البيانات العددية الأخرى لتوفير الذاكرة.

funُmain(argsُ:ُArray<String>)ُ{
    السطر val temperature: Short = -11245
    println("$temperature")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

-11245

3،نوع البيانات Int

  • مجال قيم نوع البيانات Int يبدأ من -231 إلى 231-1 (رقم عشري ثنائي ذو إشارة 32 بت).

funُmain(argsُ:ُArray<String>)ُ{
    السطر val score: Int = 100000
    println("$score")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

100000

إذا قمت بتخصيص -231 إلى 231إذا لم يتم تحديد نوع المتغير كعدد بين -1

funُmain(argsُ:ُArray<String>)ُ{
   // score هو نوع البيانات Int
    السطر val score = 10
    println("$score")
}

إذا كنت تستخدم IntelliJ IDEA، يمكنك وضع مؤشر الفارغ في المتغير، ثم الضغط على Ctrl + Shift + P لعرض نوعه.

4،نوع البيانات Long

  • مجال قيم نوع البيانات Long يبدأ من -263 إلى 263-1 (رقم عشري ثنائي ذو إشارة 64 بت).

funُmain(argsُ:ُArray<String>)ُ{
    السطر val highestScore: Long = 9999
    println("$highestScore")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

9999

إذا تم تخصيص قيمة أكبر من 231-1 أو أقل من -231 قيمة العدد (لم يتم تحديد نوعها بشكل واضح)، فإن المتغير سيكون من نوع Long. على سبيل المثال،

السطر val distance = 10000000000 // متغير نصي Long

بشكلُمثيل،يمكنُكُِاستخدامُحرفُالضبطُبالمحرفِالكبيرُLُلتحديدُنوعُالمغيرِكماًLong.مثلاً

valُdistanceُ=ُ100LُـقيمةُdistanceُنوعُLong

5ُـنوعُDoubleُ

  • نوعُDoubleُهوُنقاطُالسيولةُ64بكسلُالدقةُعاليةُ

funُmain(argsُ:ُArray<String>)ُ{
    //ُdistanceُيكونُنوعُهُDouble
    valُdistanceُ=ُ999.5
    println("$distance")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

999.5

6ُـنوعُFloatُ

  • نوعُFloatُهوُمزدوجُالإعدادُ32بكسلُلنقاطُالسيولةُ

funُmain(argsُ:ُArray<String>)ُ{
    //ُdistanceُيكونُنوعُهُFloat
    valُdistanceُ=ُ19.5F
    println("$distance")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

19.5

يرجىُالنظرُفيُأنُنحنُاستخدمنا 19.5Fُبدلاًمنُ19.5.هذاُبسببُأنُ19.5ُمثالُDouble،لذلكُلايمكنُتخصيصُقيمةُDoubleُلنوعُFloatالمغير.

لجعلُمُبرمجُيُيعتبرُ19.5ُكماًFloat،则需要ُفيُالنهايةُاستخدامُF.

إذاًلمعرفةُقيمةُالرقمُالتيُستخدمُللتحديدُللمغيرِفيُالبرنامج،يمكنُتحديدُنوعُهُكماًNumber.

funُmain(argsُ:ُArray<String>)ُ{
    varُtestُ:ُNumberُ =ُ12.2
    println("$test")
    testُ=ُ12
    //ُNumberُيتمُتحويلُذكيًاإلىُInt
    println("$test")
    testُ=ُ120L
    //ُNumberُيتمُتحويلُذكيًاإلىُLong
    println("$test")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

12.2
12
120

نوعُCharُفيُKotlin

لتمثيلُالخطوطُفيُKotlin،يستخدمُنوعُChar.

مختلفًاًعنُJava،لايمكنُاعتبارُنوعُCharُرقماً.زيارةُهذهِالصفحةُللتعرفُعلىُالمزيد.نوعُcharُفيُJavaالمزيدُمنُالمعلومات.

funُmain(argsُ:ُArray<String>)ُ{
    valُletterُ:ُChar
    letterُ=ُ'k'
    println("$letter")
}

عندُتشغيلُالبرنامج،الناتجُسيكونُ:

k

فيُJava،يمكنُكُِتنفيذُالأمرُالتالي:

charُletterُ =ُ65;

لكن،الشيفرةُالتاليةُتظهرُخطأًفيُKotlin.

varُletterُ:ُCharُ =ُ65ُ//ُخطأ

نوعُBooleanُفيُKotlin

  •  نوعُBooleanُيحتويُعلىُقيمتينُممكنتين:ُtrueُأوُfalse.

funُmain(argsُ:ُArray<String>)ُ{
    valُflagُ =ُtrue
    println("$flag")
}

تستخدم القيم الحقيقية في أوامر القرار (سيتم مناقشتها في الفصول اللاحقة).

عدد Kotlin (Array)

العدد هو حاوية تحتوي على نوع بيانات واحد (قيمة). على سبيل المثال، يمكنك إنشاء عدد يمكنه حمل 100 قيمة من نوع Int.

في Kotlin، يتم تمثيل الأعداد بكلاس Array. يتمتع هذا الكلاس بـ get و set الوظائف، وخصائص size وأعضاء مفيدة أخرى.

سلاسل Kotlin (String)

في Kotlin، يتم تمثيل السلاسل بكلاس String. مثل هذا النص المكتوب "this is a string" يتم تنفيذه كحالة من هذا الكلاس.