أنواع البيانات الاساسية في كوتلين Kotlin Basic Types

أنواع البيانات الاساسية في كوتلين

 Kotlin  Basic Types

أنواع البيانات الاساسية في كوتلين Kotlin  Basic Types

في هذا الفصل ، سنتعرف على أنواع البيانات الأساسية المتاحة بلغة برمجة Kotlin.

الارقام Numbers

إن تمثيل الأرقام في Kotlin يشبه إلى حد كبير Java ، ومع ذلك ، لا يسمح Kotlin بالتحويل الداخلي لأنواع البيانات المختلفة.  يسرد الجدول التالي أطوال مختلفة مختلفة لأرقام مختلفة.
النوعالحجم
Double64
Float32
Long64
Int32
Short16
Byte8
في المثال التالي ، سنرى كيف تعمل Kotlin مع أنواع مختلفة من البيانات.  الرجاء إدخال مجموعة التعليمات البرمجية التالية في قاعدة الترميز الخاصة بنا.

 
fun main(args: Array<String>) {
   val a: Int = 10000
   val d: Double = 100.00
   val f: Float = 100.00f
   val l: Long = 1000000004
   val s: Short = 10
   val b: Byte = 1
   
   println("Your Int Value is "+a);
   println("Your Double  Value is "+d);
   println("Your Float Value is "+f);
   println("Your Long Value is "+l);
   println("Your Short Value is "+s);
   println("Your Byte Value is "+b);
}

عندما تقوم بتشغيل الجزء أعلاه من الشفرة في قاعدة الترميز ، فسيؤدي ذلك إلى إنشاء الإخراج التالي في وحدة تحكم الويب.
Your Int Value is 10000
Your Double  Value is 100.0
Your Float Value is 100.0
Your Long Value is 1000000004
Your Short Value is 10
Your Byte Value is 1 
الحروف Characters
يمثل Kotlin الشخصية باستخدام char.  يجب أن تعلن الشخصية في اقتباس واحد مثل "ج".  يرجى إدخال الكود التالي في قاعدة الترميز الخاصة بنا ومعرفة كيفية تفسير Kotlin لمتغير الحرف.  لا يمكن التصريح عن متغيرات الحرف كمتغيرات عدد.  يمكن تعريف متغيرات Kotlin بطريقتين - الأولى باستخدام "var" والأخرى باستخدام "val".
fun main(args: Array<String>) {
   val letter: Char    // defining a variable 
   letter = 'A'        // Assigning a value to it 
   println("$letter")
}
سوف تعطي الشفرة المذكورة أعلاه المخرجات التالية في نافذة إخراج المتصفح.

A

المنطقية Boolean

منطقية بسيطة جدا مثل لغات البرمجة الأخرى.  لدينا فقط قيمتان لـ Boolean - سواء كانت صحيحة أو خاطئة.  في المثال التالي ، سنرى كيف تفسر Kotlin المنطقية.

fun main(args: Array<String>) {
   val letter: Boolean   // defining a variable 
   letter = true         // Assinging a value to it 
   println("Your character value is "+"$letter")
}

الجزء أعلاه من الشفرة سوف ينتج عنه الإخراج التالي في المتصفح.
Your character value is true
السلاسل النصية Strings
.السلاسل صفائف الشخصية.  مثل جافا ، فهي ثابتة في الطبيعة.  لدينا نوعان من الأوتار المتاحة في Kotlin - أحدهما يسمى String الخام والآخر يسمى String escring.  في المثال التالي ، سوف نستخدم هذه السلاسل
 
fun main(args: Array<String>) {
   var rawString :String  = "I am Raw String!"
   val escapedString : String  = "I am escaped String!\n"
   
   println("Hello!"+escapedString)
   println("Hey!!"+rawString)   
}

يسمح المثال أعلاه من سلسلة نجاة توفير مساحة خط إضافية بعد أول عبارة طباعة.  التالي سيكون الإخراج في المتصفح.
Hello!I am escaped String!

Hey!!I am Raw String!
المصفوفات Arrays
المصفوفات هي عبارة عن مجموعة من البيانات المتجانسة.  مثل Java ، تدعم Kotlin صفيف أنواع البيانات المختلفة.  في المثال التالي ، سوف نستخدم مصفوفات مختلفة.


fun main(args: Array<String>) {
   val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
   println("Hey!! I am array Example"+numbers[2])
}

يعطي الجزء أعلاه من التعليمات البرمجية الإخراج التالي.  يشبه فهرسة الصفيف لغات البرمجة الأخرى.  هنا ، نبحث عن فهرس ثان قيمته "3".
Hey!! I am array Example3

المجموعات Collections

يُعد التجميع جزءًا مهمًا جدًا من بنية البيانات ، مما يجعل تطوير البرامج أمرًا سهلاً للمهندسين.  يحتوي Kotlin على نوعين من المجموعات - أحدهما عبارة عن مجموعة غير قابلة للتغيير (والتي تعني القوائم والخرائط والمجموعات التي لا يمكن تحريرها) والآخر عبارة عن مجموعة قابلة للتغيير (هذا النوع من المجموعات قابل للتحرير).  من المهم جدًا مراعاة نوع المجموعة المستخدمة في التطبيق الخاص بك ، لأن نظام Kotlin لا يمثل أي اختلاف محدد فيها.

fun main(args: Array<String>) { 
   val numbers: MutableList<Int> = mutableListOf(1, 2, 3) //mutable List 
   val readOnlyView: List<Int> = numbers                  // immutable list 
   println("my mutable list--"+numbers)        // prints "[1, 2, 3]" 
   numbers.add(4) 
   println("my mutable list after addition --"+numbers)        // prints "[1, 2, 3, 4]" 
   println(readOnlyView)     
   readOnlyView.clear()    // ⇒ does not compile  
// gives error  
}

الجزء أعلاه من الشفرة سوف ينتج عنه الإخراج التالي في المتصفح.  إنه يعطي خطأ عندما نحاول مسح قائمة المجموعة القابلة للتغيير.
main.kt:9:18: error: unresolved reference: clear
   readOnlyView.clear()    // -> does not compile  
                 ^
في المجموعة ، توفر Kotlin بعض الطرق المفيدة مثل الأول () ، والأخير () ، والمرشح () ، وما إلى ذلك. كل هذه الأساليب ذاتية الوصف وسهلة التنفيذ.  علاوة على ذلك ، تتبع Kotlin نفس بنية Java أثناء تنفيذ التجميع.  أنت حر في تنفيذ أي مجموعة من اختيارك مثل Map و Set.

 في المثال التالي ، قمنا بتطبيق Map and Set باستخدام أساليب مدمجة مختلفة.

fun main(args: Array<String>) {
   val items = listOf(1, 2, 3, 4)
   println("First Element of our list----"+items.first())
   println("Last Element of our list----"+items.last())
   println("Even Numbers of our List----"+items.
      filter { it % 2 = = 0 })   // returns [2, 4]
   
   val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
   println(readWriteMap["foo"])  // prints "1"
   
   val strings = hashSetOf("a", "b", "c", "c")
   println("My Set Values are"+strings)
}

تعطي الشفرة المذكورة أعلاه المخرجات التالية في المتصفح.
First Element of our list----1
Last Element of our list----4
Even Numbers of our List----[2, 4]
1
My Set Values are[a, b, c]
النطاقات  Ranges
النطاقات هي سمة فريدة أخرى لكوتلين.  مثل Haskell ، فإنه يوفر مشغل يساعدك على التكرار من خلال مجموعة.  داخليًا ، يتم تطبيقه باستخدام rangeTo () ونموذج المشغل الخاص به هو (..).

 في المثال التالي ، سنرى كيف تفسر Kotlin مشغل النطاق هذا.

fun main(args: Array<String>) {
   val i:Int  = 2
   for (j in 1..4) 
   print(j) // prints "1234"
   
   if (i in 1..10) { // equivalent of 1 < = i && i < = 10
      println("we found your number --"+i)
   }
}
تعطي الشفرة المذكورة أعلاه المخرجات التالية في المتصفح.
1234we found your number --2