نوع داده ها در کاتلین

در کاتلین نوع داده بر اساس مقدار تخصیص داده شده به آن مشخص میگردد.

val myNum = 5             // Int
val myDoubleNum = 5.99    // Double
val myLetter = 'D'        // Char
val myBoolean = true      // Boolean
val myText = "Hello"      // String

هر چند در درس قبلی توضیح دادیم که شما می توانید نوع آنرا خودتان مشخص کنید:

val myNum: Int = 5                // Int
val myDoubleNum: Double = 5.99    // Double
val myLetter: Char = 'D'          // Char
val myBoolean: Boolean = true     // Boolean
val myText: String = "Hello"      // String

بعضی وقت ها شما مجبور می شوید نوع داده را مشخص کنید و بعضی وقت ها هم نیازی نیست اما خوبه نوع داده ها را بشناسید.

نوع داده ها به گروه های متفاوتی تقسیم می شوند :

  • اعداد
  • کاراکتر ها
  • بولین
  • رشته ها
  • آرایه ها

اعداد

نوع داده اعداد صحیحی تمام اعداد را ذخیره میکنند ، شامل اعداد مثبت و منفی (مانند 122 و 122-) بدون اعشار (ByteShortInt ،Long)

نوع داده اعشاری شامل اعداد داری اعشار با یک رقم اعشار یا بیشتر می شوند (Float و Double)

نکته : اگر نوع داده را مشخص نکنید برای اعداد صحیح int و برای اعداد اعشاری Double انتخاب می شود.

نوع داده اعداد صحیح

نوع Byte : این نوع در محدوده 128- تا 128 می تواند مقدار بگیرد و زمانیکه می دانیم رنج داده ما در این مقدار می باشد می توانیم به جای int استفاده نماییم تا حافظه کمتری اشغال گردد.

val myNum: Byte = 100
println(myNum)

نوع short : می تواند از 32768- تا 32767 را درخود ذخیره نماید.

val myNum: Short = 5000
println(myNum)

نوع int : می تواند از 2147483648- تا 2147483647 را در خود ذخیره نماید.

val myNum: Int = 100000
println(myNum)

نوع Long : مس تواند از 9223372036854775808- تا 9223372036854775807 را ذخیره نماید زمانی استفاده می شود که نوع int به اندازه کافی بزرگ نباشد و بصورت اختیاری می تواند به L ختم گردد.

val myNum: Long = 15000000000L
println(myNum)

فرق نوع int با Long

نوع int حداکثر می تواند تا 2147483647 مقدار در خود نگهدارد و درصورت بزرگتر شدن نوع داده Long خواهد بود :

val myNum1 = 2147483647  // Int
val myNum2 = 2147483648  // Long

نوع داده اعشاری

نوع داده اعضاری برای اعداد دارای اعشار می باشد مانند 9.99 یا 3.14515

نوع Float : می تواند از 3.4e−038  تا 3.4e+038 را در خود نگهدارد . یادتان باشد باید انتهای عدد از F استفاده نمایید :

val myNum: Float = 5.75F
println(myNum)

نوع Double : می تواند از 1.7e−308 تا 1.7e+038 را در خود نگهدارد :

val myNum: Double = 19.99
println(myNum)

چگونه انتخاب کنم از Float یا Double استفاده کنم ؟

بستگی به تعداد ارقام اعشار عدد شما دارد و در صورت زیاد بودن دقت اعشار از Double استفاده نمایید.

اعداد علمی

یک عدد اعشاری میتواند عددی علمی باشد که با حرف e یا E مشخص میگردد و در توان 10 می باشد :

val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)

نوع بولین :

فقط می تواند مقدار True یا False را در خود نگهدارد.

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // Outputs true
println(isFishTasty)   // Outputs false

نوع بولین معمولا در شرط ها استفاده می شود.

نوع کاراکتر :

می تواند تنها یک کاراکتر را در خود نگهدارد مانند ‘A’ یا ‘c’ که درون تک کوتیشن قرار میگیرد.

val myGrade: Char = 'B'
println(myGrade)

نکته : برخلاف جاوا شما نمی توانید کد اسکی حرف را به این نوع داده اختصاص بدهید و با خطا مواجه می شوید :

val myLetter: Char = 66
println(myLetter) // Error

نوع داده رشته ای

این نوع داده برای ذخیر مجموعه ای از کاراکتر ها به کار می رود و باید رشته درون “” قرار بگیرند:

val myText: String = "Hello World"
println(myText)

آرایه ها

از آرایه ها برای ذخیره چندین مقدار درون یک متغییر استفاده می شود.

در درس آرایه ها مفصل توضیحداده می شود.

تبدیل نوع داده

تغییر نوع داده در کاتلین متفاوت از جاوا می باشد ، مثلا شما نمی توانید نوع int را به Long تغییر دهید.

val x: Int = 5
val y: Long = x
println(y) // Error: Type mismatch

روش تغییر نوع :

برای تغییر نوع باید شما از توابع زیر استفاده کنید :

toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble() ،toChar()

val x: Int = 5
val y: Long = x.toLong()
println(y)

درس قبلی :” متغیردر کاتلین”

درس بعدی : “عملگر ها در کاتلین”

برای مشاهده تمام آموزش های کاتلین به صفحه فهرست آموزش کاتلین مراجعه کنید.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.