در زبان Kotlin، نوع یک متغیر معمولاً با توجه به مقدار آن تعیین می‌شود. به عبارت ساده‌تر، نیازی نیست همیشه نوع متغیر را مشخص کنید، اما اگر بخواهید، می‌توانید این کار را انجام دهید. 😊

مثال 📌

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
val myDoubleNum: Double = 5.99
val myLetter: Char = 'D'
val myBoolean: Boolean = true
val myText: String = "Hello"

گروه‌بندی انواع داده‌ها 🔍

  1. اعداد (Numbers) ➖ اعداد صحیح و اعشاری
  2. کاراکترها (Characters) ➖ حروف منفرد
  3. منطقی (Booleans) ➖ درست یا نادرست
  4. رشته‌ها (Strings) ➖ متن‌ها
  5. آرایه‌ها (Arrays) ➖ مجموعه‌ای از مقادیر

اعداد در Kotlin 🔢

اعداد به دو دسته تقسیم می‌شوند:

اعداد صحیح (Integer Types) ➖ اعدادی بدون اعشار:

نوع دادهمحدوده مقادیر
Byte-128 تا 127
Short-32,768 تا 32,767
Int-2,147,483,648 تا 2,147,483,647
Long-9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807

مثال:

val myNum: Byte = 100
println(myNum)

val myShort: Short = 5000
println(myShort)

val myInt: Int = 100000
println(myInt)

val myLong: Long = 15000000000L
println(myLong)  // مقدار باید با "L" مشخص شود

اعداد اعشاری (Floating Point Types) ➖ شامل اعشار:

نوع دادهتعداد رقم اعشار
Float6 تا 7 رقم
Double15 رقم

مثال:

val myFloat: Float = 5.75F  // مقدار باید با "F" مشخص شود
println(myFloat)

val myDouble: Double = 19.99
println(myDouble)

📌 نکته: در محاسبات دقیق‌تر، Double بهتر از Float است، چون دقت بیشتری دارد.

اعداد علمی (Scientific Numbers)

می‌توان از نماد “e” یا “E” برای نمایش اعداد علمی استفاده کرد:

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

داده‌های منطقی (Booleans) ✅❌

متغیرهای Boolean فقط دو مقدار دارند: true یا false.

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // خروجی: true
println(isFishTasty)   // خروجی: false

داده‌های کاراکتری (Characters) 🔠

برای ذخیره یک کاراکتر، از نوع Char استفاده می‌شود. مقدار باید در تک‌کوتیشن (') باشد:

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

📌 نکته: بر خلاف Java، نمی‌توان مقدار ASCII را مستقیماً در متغیر Char ذخیره کرد:

val myLetter: Char = 66
println(myLetter)  // خطا

داده‌های متنی (Strings) 📝

رشته‌ها مجموعه‌ای از کاراکترها هستند که در دابل کوتیشن (") قرار می‌گیرند:

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

📌 نکته: رشته‌ها در Kotlin تغییرناپذیر (Immutable) هستند.

آرایه‌ها (Arrays) 📦

آرایه‌ها برای ذخیره چند مقدار در یک متغیر استفاده می‌شوند. بیشتر درباره آن‌ها در فصل مربوط به آرایه‌ها صحبت خواهیم کرد. 😉

تبدیل نوع داده‌ها (Type Conversion) 🔄

در Kotlin تبدیل نوع داده به‌صورت خودکار انجام نمی‌شود. برای تبدیل، از متدهای ()toByte، ()toShort، ()toInt، ()toLong، ()toFloat، ()toDouble یا ()toChar استفاده کنید:

کد نامعتبر:

val x: Int = 5
val y: Long = x  // خطا
println(y)

کد صحیح:

val x: Int = 5
val y: Long = ()x.toLong
println(y)  // خروجی: 5

تمرین 🤔

  1. یک متغیر از نوع Float تعریف کن و مقدار 3.14F به آن بده.
  2. یک مقدار عددی وارد کن و مقدار آن را از Int به Double تبدیل کن.
  3. برنامه‌ای بنویس که مقدار true را در متغیر Boolean ذخیره کند و آن را نمایش دهد.

👨‍💻 حالا که با انواع داده در Kotlin آشنا شدی، آماده‌ای که در پروژه‌های بعدی از آن‌ها استفاده کنی؟