محمد زارع شیرکوهی
محمد زارع شیرکوهی
خواندن ۵ دقیقه·۳ سال پیش

نوع داده ها در کاتلین : آموزش کاتلین (قسمت 6)

قبل از هر چیز، اگه به برنامه نویسی اندروید علاقه مندی، من تو سایتم یک دوره آموزش برنامه نویسی اندروید از سطح کاملا مبتدی تا پیشرفته گذاشتم که کاملا رایگان میتونی ازش استفاده کنی، پس به دوره صفر مطلق اندروید یه سر بزن!
نوع داده ها در کاتلین
نوع داده ها در کاتلین

تو این مقاله میخام در مورد نوع داده ها در کاتلین صحبت کنم، همونطور که احتمالا میدونید برعکس جاوا که توی تعریف نوع متغیرها بسیار جدی عمل می‌کنه و شما نمیتونید هیچ متغیری رو بدون تعریف نوع اون، تعریف کنید. اما کاتلین تو این قضیه اصلا سخت گیر نیست و میتونه نوع داده رو با توجه به مقدار اون تشخیص بده و خیلی کار رو راحت تر می‌کنه، البته تو کاتلین اگه بخایم هم میتونیم نوع داده برای یک متغیر تعریف کنیم که تو مثال‌های پایین کامل بهش پرداختم.

راستی میدونستی ما تو سایت ترولرن یه دوره رایگان آموزش برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزش‌های رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش می‌دیم.

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

در کاتلین نوع داده‌ها از مقدار آن تشخیص داده می‌شود و نیازی نیست نوع داده را تعیین کنیم:

val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = &quotHello&quot // 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 = &quotHello&quot // 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 = &quotHello World&quot
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()

خب امیدوارم مطالبی که گفتم مفید باشه براتون، یادتون نره حتما عضو پیج اینستاگرام ترو لرن بشین مطالب آموزنده بصورت روزانه اونجا قرار می‌گیره.

دوست برنامه نویسی من، برای خوندن مقالات تخصصی اندروید، میتونی به سایت ترولرن هم مراجعه کنی
اعداد اعشاری در کاتلیناعداد صحیح در کاتلینرشته ها در کاتلینکاراکترها در کاتلینکاتلین به زبان ساده
علاقه اصلی من برنامه نویسی اندروید هستش اما نزدیک به یک ساله که وارد دنیای وب و بک اند شدم و عاشق nodejs و mern stack هستم
شاید از این پست‌ها خوشتان بیاید