انواع داده (Data Types)
در کاتلین، «نوع داده (Data Type)» یعنی شکلِ مقدار. مثل اینکه عدد است، متن است، یا درست/نادرست است. معمولاً کاتلین از روی مقدار، نوع را خودش حدس می زند.
نمونه انواع اصلی
عدد صحیح، اعشاری، نویسه، بولین و رشته مهم ترین ها هستند.
val myNum = 5
val myDoubleNum = 5.99
val myLetter = 'D'
val myBoolean = true
val myText = "Hello"
می توانی نوع را صریح هم بنویسی تا خوانایی بهتر شود.
val myNum: Int = 5
val myDoubleNum: Double = 5.99
val myLetter: Char = 'D'
val myBoolean: Boolean = true
val myText: String = "Hello"
Numbers: عددهای صحیح و اعشاری
عددهای صحیح: Byte، Short، Int، Long. عددهای اعشاری: Float و Double.
Byte
val myNum: Byte = 100
println(myNum)
Short
val myNum: Short = 5000
println(myNum)
Int
val myNum: Int = 100000
println(myNum)
Long
وقتی Int کافی نیست، از Long استفاده کن.
val myNum: Long = 15000000000L
println(myNum)
تفاوت Int و Long
val myNum1 = 2147483647
val myNum2 = 2147483648
Floating Point: اعشاری ها
برای دقت بیشتر معمولاً Double امن تر است. مقدار Float را با F تمام کن.
val myNum: Float = 5.75F
println(myNum)
val myNum: Double = 19.99
println(myNum)
نمایش علمی (Scientific)
val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
Booleans: درست یا نادرست
Boolean فقط true یا false است؛ برای شرط ها خیلی کاربردی است.
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)
println(isFishTasty)
Char: یک نویسه
Char یک کاراکتر با کوتیشن تکی است؛ مثل 'A'.
val myGrade: Char = 'B'
println(myGrade)
برخلاف جاوا، مقدار ASCII مستقیم معتبر نیست و خطا می دهد.
val myLetter: Char = 66
println(myLetter)
String: متن ها
String دنباله ای از کاراکترهاست؛ با کوتیشن دوتایی نوشته می شود.
val myText: String = "Hello World"
println(myText)
برای جزئیات بیشتر، به رشته ها سر بزن.
آرایه ها
«آرایه (Array)» چند مقدار را کنار هم نگه می دارد. بعداً در آرایه ها کامل می بینی.
تبدیل نوع (Type Conversion)
در کاتلین تبدیل عددی خودکار مثل جاوا نیست. مستقیمِ Int به Long خطاست.
val x: Int = 5
val y: Long = x
println(y)
باید از توابع تبدیل استفاده کنی؛ مثل toLong().
val x: Int = 5
val y: Long = x.toLong()
println(y)
گام های تمرین سریع
- برای هر نوع یک نمونه بساز و چاپ کن.
- یک
Floatو یکDoubleبساز و مقایسه کن. - یک تبدیلِ
IntبهLongباtoLong()انجام بده.
نکته: برای مرور «انواع داده کاتلین»، همیشه می توانی به انواع داده کاتلین برگردی.
جمع بندی سریع
- کاتلین معمولاً نوع را حدس می زند.
Doubleبرای دقت بیشتر بهتر است.Charبا کوتیشن تکی است.- تبدیل نوع را با توابع
to*انجام بده. - برای رشته و آرایه، صفحات مربوطه را ببین.