انواع متغیرهای پایه در کاتلین
انواع متغیرهای پایه در کاتلین
در این مطلب از وب سایت آموزش برنامه نویسی سورس باران، شما با متغیرهای پایه در کاتلین، نحوه ایجاد آنها و انواع داده های پایه که کاتلین برای ایجاد متغیرها پشتیبانی می کند، آشنا خواهید شد.
همانطور که می دانید، یک متغیر مکانی در حافظه (محل ذخیره) برای نگهداری داده ها است.
برای نشان دادن منطقه ذخیره سازی، به هر متغیر باید یک نام (شناسه) منحصر به فرد داده شود. درباره نحوه نامگذاری یک متغیر در کاتلین بیشتر بیاموزید؟
چگونه متغیر را در کاتلین اعلام کنیم؟
برای اعلام متغیر در کاتلین، از کلمه کلیدی var یا val استفاده می شود. به عنوان مثال:
1 2 |
var language = "French" val score = 95 |
تفاوت در استفاده از var یا val بعداً در مقاله مورد بحث قرار گرفت. در حال حاضر ، بیایید بر اعلان متغیر تمرکز کنیم.
در اینجا، language زبان یک متغیر از نوع رشته String است، و نمره score یک متغیر از نوع Int است. نیازی نیست نوع متغیرهای پایه در کاتلین را مشخص کنید. کاتلین تلویحاً این کار را برای شما انجام می دهد. کامپایلر این را با بیان مقداردهنده اولیه می داند (“فرانسوی” “French” یک رشته String است و 95 یک مقدار صحیح در برنامه فوق است). به این استنباط نوع در برنامه نویسی می گویند.
اگر بخواهید می توانید صریحاً نوع آن را مشخص کنید:
1 2 |
var language: String = "French" val score: Int = 95 |
ما متغیر را در حین اعلامیه در مثالهای بالا مقداردهی اولیه کردیم. با این حال، لازم نیست این کار را انجام دهید. می توانید متغیر را اعلام کرده و نوع آن را در یک عبارت مشخص کنید، و متغیر را در دستور دیگری بعداً در برنامه مقداردهی اولیه کنید.
1 2 3 4 5 6 7 |
var language: String // variable declaration of type String ... .. ... language = "French" // variable initialization val score: Int // variable declaration of type Int ... .. ... score = 95 // variable initialization |
در اینجا چند نمونه وجود دارد که منجر به خطا می شوند.
1 2 |
var language // Error language = "French" |
در اینجا، نوع متغیر language زبان به صراحت مشخص نشده است و همچنین متغیر در حین اعلام مقدار دهی اولیه نمی شود.
1 2 |
var language: String language = 14 // Error |
در اینجا، ما سعی می کنیم 14 (مقدار عدد صحیح) را به متغیر از نوع مختلف (String) اختصاص دهیم.
تفاوت بین var و val در برنامه نویسی کاتلین
- val (مرجع غیرقابل تغییر) – متغیر اعلام شده با استفاده از کلمه کلیدی val پس از اختصاص مقدار قابل تغییر نیست. مشابه متغیر نهایی در جاوا است.
- var (مرجع قابل تغییر) – متغیر اعلام شده با استفاده از کلمه کلیدی var می تواند بعداً در برنامه تغییر کند. مربوط به متغیر عادی جاوا است.
در اینجا چند نمونه ذکر شده است:
1 2 |
var language = "French" language = "German" |
در اینجا، متغیر زبان language به آلمانی German تغییر می یابد. از آنجا که متغیر با استفاده از var اعلام می شود ، این کد به خوبی عمل می کند.
1 2 |
val language = "French" language = "German" // Error |
در مثال بالا نمی توانید متغیر زبان language را به آلمانی German اختصاص دهید زیرا متغیر با استفاده از val اعلام می شود.
اکنون، شما می دانید که متغیرهای پایه در کاتلین چیست، وقت آن فرا رسیده است که مقادیر مختلفی را که یک متغیر کاتلین می تواند بدست آورد، فرا بگیرید.
انواع اساسی کاتلین
کاتلین یک زبان بصورت ثابت تایپ شده مانند جاوا است. یعنی نوع متغیر در طول زمان کامپایل شناخته شده است. مثلا،
1 2 |
val language: Int val marks = 12.3 |
در اینجا، کامپایلر می داند که زبان language از نوع Int است ، و علائم marks از نوع دوتایی Double قبل از زمان کامپایل است.
انواع داخلی داده ها در کاتلین را می توان به صورت زیر دسته بندی کرد:
- اعداد
- کاراکترها
- بولی ها (داده منطقی)
- آرایه ها
نوع اعداد در برنامه نویسی کاتلین
اعداد مشابه جاوا هستند. 6 نوع داخلی وجود دارد که اعداد را نشان می دهد.
- بایت (Byte)
- عدد صحیح (Short)
- عدد صحیح (Int)
- عدد صحیح (Long)
- ممیز شناور (Float)
- ممیز شناور (Double)
1- بایت (Byte) در برنامه نویسی کاتلین
نوع داده بایت می تواند مقادیری از -128 تا 127 داشته باشد .
اگر مطمئن باشید که مقدار یک متغیر در [-128 ، 127] خواهد بود، به جای Int یا سایر داده های عدد صحیح استفاده می شود تا حافظه را ذخیره کند.
مثال:
1 2 3 4 5 6 7 |
fun main(args : Array<String>) { val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
112 |
2- عدد صحیح (Short)
نوع داده کوتاه می تواند مقادیری از -32768 تا 32767 داشته باشد.
اگر مطمئن باشید که مقدار متغیر در محدوده [-32768 ، 32767] خواهد بود، برای ذخیره و صرفه جویی در حافظه به جای انواع دیگر داده های عدد صحیح استفاده می شود.
مثال:
1 2 3 4 5 |
fun main(args : Array<String>) { val temperature: Short = -11245 println("$temperature") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
-11245 |
3– عدد صحیح (Int)
نوع داده Int می تواند مقادیری از -231 تا 231-1 داشته باشد.
مثال:
1 2 3 4 5 |
fun main(args : Array<String>) { val score: Int = 100000 println("$score") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
100000 |
شما بدون تعیین صریح نوع آن یک عدد صحیح بین از -231 تا 231-1 به یک متغیر اختصاص می دهید، متغیر از نوع Int خواهد بود. به عنوان مثال،
1 2 3 4 5 6 |
fun main(args : Array<String>) { // score is of type Int val score = 10 println("$score") } |
اگر از IntelliJ IDEA استفاده می کنید، می توانید مکان نما را درون متغیر قرار دهید و Ctrl + Shift + P را فشار دهید تا نوع آن را ببینید.
4- عدد صحیح (Long)
نوع داده Longمی تواند مقادیری از -263 تا 263-1 داشته باشد.
مثال:
1 2 3 4 5 |
fun main(args : Array<String>) { val highestScore: Long = 9999 println("$highestScore") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
9999 |
اگر یک مقدار صحیح بزرگتر از 231-1 یا کمتر از -231 را به یک متغیر اختصاص دهید (بدون مشخص کردن نوع دقیق آن) ، متغیر از نوع Long خواهد بود. به عنوان مثال ،
1 |
val distance = 10000000000 // distance variable of type Long |
به همین ترتیب ، می توانید از حرف بزرگ L برای تعیین متغیر از نوع Long استفاده کنید. به عنوان مثال،
1 |
val distance = 10000000000 // distance variable of type Long |
5- ممیز شناور (Double)
نوع Double یک ممیز شناور 64 بیتی با دقت دوبرابری است.
مثال:
1 2 3 4 5 6 |
fun main(args : Array<String>) { // distance is of type Double val distance = 999.5 println("$distance") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
999.5 |
ممیز شناور (Float)
نوع داده Float یک ممیز شناور با دقت 32 بیت است.
1 2 3 4 5 6 |
fun main(args : Array<String>) { // distance is of type Float val distance = 19.5F println("$distance") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
19.5 |
توجه داشته باشید که، ما در برنامه فوق به جای 19.5 از 19.5Fاستفاده کرده ایم. دلیل آن این است که 19.5 یک مقدار Double است و شما نمی توانید مقدار Double را به یک متغیر از نوع Float اختصاص دهید.
برای اینکه به کامپایلر بگویید که 19.5 را با Float در نظر بگیرد ، باید در انتها از F استفاده کنید.
اگر مطمئن نیستید که به یک متغیر در برنامه چه مقدار عددی اختصاص می یابد، می توانید آن را به عنوان Number type تعیین کنید. با این کار می توانید مقدار صحیح و ممیز شناور را به یک متغیر اختصاص دهید. به عنوان مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
fun main(args : Array<String>) { var test: Number = 12.2 println("$test") test = 12 // Int smart cast from Number println("$test") test = 120L // Long smart cast from Number println("$test") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 2 3 |
12.2 12 120 |
Char در کاتلین
برای نمایش یک کاراکتر در کاتلین ، از انواع Char استفاده می شود.
برخلاف جاوا، نمی توان با انواع Char به عنوان عدد رفتار کرد.
1 2 3 4 5 6 |
fun main(args : Array<String>) { val letter: Char letter = 'k' println("$letter") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
1 |
k |
در جاوا می توانید کارهای زیر را انجام دهید:
1 |
char letter = 65; |
با این حال، کد زیر خطایی در کاتلین ایجاد می کند.
1 |
var letter: Char = 65 // Error |
بولی ها در برنامه نویسی کاتلین
نوع داده بولی دارای دو مقدار ممکن است، درست یا نادرست.
مثال:
1 2 3 4 5 |
fun main(args : Array<String>) { val flag = true println("$flag") } |
از بولی ها در دستورات شرطی استفاده می شود (در فصل بعد بحث خواهد شد).
آرایه های کاتلین
آرایه ظرفی است که داده ها (مقادیر) از یک نوع واحد را در خود نگه می دارد. به عنوان مثال، می توانید آرایه ای ایجاد کنید که بتواند 100 مقدار از نوع Int را در خود جای دهد.
در کاتلین ، آرایه ها توسط کلاس Array نمایش داده می شوند. کلاس دارای توابع get ، set، ویژگی size و چند توابع عضو مفید دیگر است.
رشته ها در برنامه نویسی کاتلین
در کاتلین، رشته ها توسط کلاس String نمایش داده می شوند. اصطلاحات رشته ای مانند ” “this is a string” به عنوان نمونه ای از این کلاس پیاده سازی می شود.
برای اطلاعات بیشتر از دیگر آموزش های برنامه نویسی ما به وب سایت و اینستاگرام ما مراجعه کنید
دیدگاه شما