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

قبل از هر چیز، اگه به برنامه نویسی اندروید علاقه مندی، من تو سایتم یک دوره آموزش برنامه نویسی اندروید از سطح کاملا مبتدی تا پیشرفته گذاشتم که کاملا رایگان میتونی ازش استفاده کنی، پس به دوره صفر مطلق اندروید یه سر بزن!نوع داده ها در کاتلینتو این مقاله میخام در مورد نوع داده ها در کاتلین صحبت کنم، همونطور که احتمالا میدونید برعکس جاوا که توی تعریف نوع متغیرها بسیار جدی عمل می‌کنه و شما نمیتونید هیچ متغیری رو بدون تعریف نوع اون، تعریف کنید. اما کاتلین تو این قضیه اصلا سخت گیر نیست و میتونه نوع داده رو با توجه به مقدار اون تشخیص بده و خیلی کار رو راحت تر می‌کنه، البته تو کاتلین اگه بخایم هم میتونیم نوع داده برای یک متغیر تعریف کنیم که تو مثال‌های پایین کامل بهش پرداختم.راستی میدونستی ما تو سایت ترولرن یه دوره رایگان آموزش برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزش‌های رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش می‌دیم.نوع داده ها در کاتلیندر کاتلین نوع داده‌ها از مقدار آن تشخیص داده می‌شود و نیازی نیست نوع داده را تعیین کنیم:val myNum = 5 // Intval myDoubleNum = 5.99 // Doubleval myLetter = 'D' // Charval myBoolean = true // Booleanval myText = &quotHello&quot // Stringولی خب در صورت تمایل میتوانید برای متغیرهای کاتلین نوع داده تعریف کنید:val myNum: Int = 5 // Intval myDoubleNum: Double = 5.99 // Doubleval myLetter: Char = 'D' // Charval myBoolean: Boolean = true // Booleanval 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 = 15000000000Lprintln(myNum)فرق Int و Long:در مثال زیر دقت کنید، عدد های تا مقدار 2147483647 یک Int هستند و بعد از آن دیگر در Int جا نمی‌شوند و Long هستند:val myNum1 = 2147483647 // Intval myNum2 = 2147483648L // Longانواع عدد اعشاری در کاتلینمتغیر Float : اعداد اعشاری بین 3.4e−038 تا 3.4e+038 را در خود جای می‌دهد. شما باید در انتهای یک مقدار Float از کاراکتر F استفاده کنید:val myNum: Float = 5.75Fprintln(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 = 35E3Fval myNum2: Double = 12E4println(myNum1)println(myNum2)متغیر Booleansکه فقط می‌تواند دو مقدار true و false را داشته باشد به معنای درست یا غلط، این متغیر بیشتر برای تست شرطی استفاده می‌شود.متغیر Charactersبرای ذخیره یک کاراکتر استفاده می‌شود که باید بین دوتا سینگل کوتیشن قرار بگیرد مانند مثال زیر:val myGrade: Char = 'A'println(myGrade)برعکس جاوا، در کاتلین نمی‌توانید از مقدار ASCII برای نمایش کاراکتر استفاده کنید، مثلا مقدار 66 در جاوا کاراکتر B را تولید می‌کند اما در کاتلین کد زیر باعث ایجاد خطا خواهد شد:val myLetter: Char = 66println(myLetter) // Errorمتغیر Stringsبرای دنباله‌ای از کاراکترها (متن) استفاده می‌شود. مقادیر یک رشته باید با دوعدد دابل کوتیشن احاطه شوند. مثالی از String:val myText: String = &quotHello World&quotprintln(myText)تبدیل نوع در کاتلینزمانی که یک نوع داده را به نوع داده‌ی دیگری تبدیل می‌کنید، تبدیل نوع اتفاق می‌افتد. در کاتلین تبدیل نوع عددی با جاوا متفاوت است، برای مثال تبدیل از نوع Int به نوع Long با کد زیر امکان‌پذیر است:val x: Int = 5val y: Long = x.toLong()println(y)و کد زیر در کاتلین با خطا مواجه می‌شود:val x: Int = 5 val y: Long = xprintln(y) // Error: Type mismatchبرای تبدیل یک نوع داده‌ی عددی به نوع دیگر در کاتلین باید از یکی از توابع زیر استفاده کنید:toByte()toShort()toInt()toLong()toFloat()toDouble()toChar()خب امیدوارم مطالبی که گفتم مفید باشه براتون، یادتون نره حتما عضو پیج اینستاگرام ترو لرن بشین مطالب آموزنده بصورت روزانه اونجا قرار می‌گیره.دوست برنامه نویسی من، برای خوندن مقالات تخصصی اندروید، میتونی به سایت ترولرن هم مراجعه کنی