نوع داده ها در کاتلین : آموزش کاتلین (قسمت 6)
تو این مقاله میخام در مورد نوع داده ها در کاتلین صحبت کنم، همونطور که احتمالا میدونید برعکس جاوا که توی تعریف نوع متغیرها بسیار جدی عمل میکنه و شما نمیتونید هیچ متغیری رو بدون تعریف نوع اون، تعریف کنید. اما کاتلین تو این قضیه اصلا سخت گیر نیست و میتونه نوع داده رو با توجه به مقدار اون تشخیص بده و خیلی کار رو راحت تر میکنه، البته تو کاتلین اگه بخایم هم میتونیم نوع داده برای یک متغیر تعریف کنیم که تو مثالهای پایین کامل بهش پرداختم.
راستی میدونستی ما تو سایت ترولرن یه دوره رایگان آموزش برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزشهای رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش میدیم.
نوع داده ها در کاتلین
در کاتلین نوع دادهها از مقدار آن تشخیص داده میشود و نیازی نیست نوع داده را تعیین کنیم:
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
گاهی اوقات هم هست که نیاز داریم نوع داده را مشخص کنیم، در مقالات بعدی در مورد اینکه چه زمانی باید نوع دادهها را مشخص کنیم بیشتر یاد میگیریم.
انواع دادهها در کاتلین شامل گروههای زیر است:
- Numbers یا ارقام
- Characters یا کاراکترها
- Booleans یا بولینها
- Strings یا رشتهها
- Arrays یا آرایهها
ارقام در کاتلین
اعداد و ارقام در کاتلین را میتوانیم به دو گروه تقسیم کنیم ، اعداد صحیح و اعداد اعشاری
انواع معتبر اعداد صحیح عبارتند از Byte، Short، Int و Long.
و برای اعداد اعشاری نیز دو نوع وجود دارد، Float و Double.
نکته: اگر نوع یک متغیر را تعیین نکنیم،برای اعداد صحیح اغلب int و برای اعداد اعشاری double در نظر گرفته میشود.
انواع عدد صحیح در کاتلین
- بایت یا Byte: این نوع داده میتواند اعداد صحیح بین 128- تا 127 را در خود جای دهد.
- Short: این نوع داده میتواند اعداد صحیح بین 32768- تا 32767 را در خود جای دهد.
- Int: این نوع داده میتواند اعداد صحیح بین 2147483648- تا 2147483647 را در خود جای دهد.
- Long: این نوع داده میتواند اعداد صحیح بین 9223372036854775808- تا 9223372036854775808 را در خود جای دهد، به این نکته دقت کنید که از این متغیر زمانی استفاده کنید که int به اندازه کافی بزرگ نباشد تا بتواند مقدار را ذخیره کند. اعداد Long را با یک حرف L بعد از عدد آن مشخص میکنیم:
val myNum: Long = 15000000000L println(myNum)
فرق Int و Long:
در مثال زیر دقت کنید، عدد های تا مقدار 2147483647 یک Int هستند و بعد از آن دیگر در Int جا نمیشوند و Long هستند:
val myNum1 = 2147483647 // Int val myNum2 = 2147483648L // Long
انواع عدد اعشاری در کاتلین
Float : اعداد اعشاری بین 3.4e−038 تا 3.4e+038 را در خود جای میدهد. شما باید در انتهای یک مقدار Float از کاراکتر F استفاده کنید:
val myNum: Float = 5.75F println(myNum)
Double: اعداد اعشاری بین 1.7e−308 تا 1.7e+038 را در خود جای میدهد.
Float یا Double؟
دقت محاسبهی این دو مقدار با هم متفاوت است، دقت Float تنها شش تا هفت رقم اعشار است درحالیکه متغیرهای Double دقتی در حدود 15 رقم اعشار دارند، بنابراین استفاده از Double برای اکثر محاسبات ایمنتر و دقیقتر است.
نماد علمی
برای نمایش اعداد با استفاده از نماد علمی از e یا E استفاده میشود که به معنای توان 10 عدد بعد از آن است، برای مثال 12E4 به معنای 12 ضرب در 10 به توان 4 است که یعنی عدد 120000 (برای راحتی کار میتوان گفت هر عددی بعد از E بود، به همان تعداد 0 به انتهای عدد اضافه میشود مثلا در مثال بالا که بعد از E عدد 4 بود، 4 صفر به انتهای عدد اضافه کرد)
مثالی برای نماد علمی:
val myNum1: Float = 35E3F val myNum2: Double = 12E4 println(myNum1) println(myNum2)
Booleans
که فقط میتواند دو مقدار true و false را داشته باشد به معنای درست یا غلط، این متغیر بیشتر برای تست شرطی استفاده میشود.
Characters
برای ذخیره یک کاراکتر استفاده میشود که باید بین دوتا سینگل کوتیشن قرار بگیرد مانند مثال زیر:
val myGrade: Char = 'A' println(myGrade)
برعکس جاوا، در کاتلین نمیتوانید از مقدار ASCII برای نمایش کاراکتر استفاده کنید، مثلا مقدار 66 در جاوا کاراکتر B را تولید میکند اما در کاتلین کد زیر باعث ایجاد خطا خواهد شد:
val myLetter: Char = 66 println(myLetter) // Error
Strings
برای دنبالهای از کاراکترها (متن) استفاده میشود. مقادیر یک رشته باید با دوعدد دابل کوتیشن احاطه شوند. مثالی از String:
val myText: String = "Hello World" println(myText)
تبدیل نوع در کاتلین
زمانی که یک نوع داده را به نوع دادهی دیگری تبدیل میکنید، تبدیل نوع اتفاق میافتد. در کاتلین تبدیل نوع عددی با جاوا متفاوت است، برای مثال تبدیل از نوع Int به نوع Long با کد زیر امکانپذیر است:
val x: Int = 5 val y: Long = x.toLong() println(y)
و کد زیر در کاتلین با خطا مواجه میشود:
val x: Int = 5 val y: Long = x println(y) // Error: Type mismatch
برای تبدیل یک نوع دادهی عددی به نوع دیگر در کاتلین باید از یکی از توابع زیر استفاده کنید:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
خب امیدوارم مطالبی که گفتم مفید باشه براتون، یادتون نره حتما عضو پیج اینستاگرام ترو لرن بشین مطالب آموزنده بصورت روزانه اونجا قرار میگیره.
درباره محمد زارع
از سال 94 بصورت جدی وارد عرصه برنامه نویسی اندروید شدم، در شرکتها و استارتآپهای زیادی مشغول به کار بوده و تجربه کسب کرده ام و در این سایت قصد دارم این تجربه را به اشتراک بگذارم
نوشته های بیشتر از محمد زارع
دیدگاهتان را بنویسید