رفتن به مطلب

ارسال‌های توصیه شده

سلام،

اولین تاپیک و آموزش رو با اجازه از اساتید و بقیه دوستان عزیز در بخش کاتلین مینویسم:Laie_60B:

همانطور که می دونین متغیرها مانند ظرفی هستن که انواع مختلفی از داده ها رو به طور موقت در خود ذخیره می کنن.

یکی از مزیت های کاتلین به متغیرها مربوط میشه. درواقع شما میتونین نوع متغیر رو تعیین نکنید.

همچنین در جاوا یا b4a میتونستیم چندتا متغیر رو در یک خط تعریف کنیم اما توی کاتلین چنین امکانی وجود ندارد.

به عنوان مثال در جاوا حتما باید نوع متغیر تعیین بشه. مثلا:

String Mystring="Hello World";

یا در b4a هم همینطور! باید نوع متغیر تعیین بشه:

Dim Myint As int=1

اما در کاتلین شما میتونین فقط از کلمه کلیدی val استفاده کنید و بعدش نام متغیر رو بنویسید و اونو مقداردهی کنید.

 

به طور کلی در کاتلین دوتا کلمه کلیدی برای تعریف متغیر داریم:

1-val:  برای تعریف متغیرهای ثابت استفاده می شود و فقط یکبار مقداردهی میشوند و مقدار آنها را نمیتوان عوض کرد.

2-var: برای تغریف متغیرهای ثابت استفاده می شود و میتوان مقدار آنها را عوض کرد اما نوع آنها را نمیتوان عوض کرد، به عنوان مثال اگر مقدار آن از نوع boolean است، هنگام عوض کردن مقدار آن باید مقداری از نوع boolean به آن داده شود. (چون میتوینم نوع متغیر رو تو کاتلین تعیین نکنیم شاید بگین میتونیم یک متغیر همون اول با کلمه کلیدی var درست کنیم و بعد هرکجا مقدارش رو با هرنوع داده ای عوض کنیم. مثلا اول بهش String بدیم بعد مقدارش رو boolean کنیم! نه اصلا اینطوری نیست...)

 

شما بهتره بیشتر روی val مانور بدین. چون فقط یکبار مقداردهی میشن و در طول پروژه دیگه نمیتونین مقدارش رو تغییر بدین و یه باگی به وجود بیاد.:gamer:

 

خب بریم چندتا مثال کار کنیم تا مطالب بالا بهتر براتون جا بیفته:

val a = "Hello World"

بالا یک متغیر به نام a با کلمه کلیدی val تعریف کردیم و اونو برابر Hello world قرار دادیم که تا آخر مقدارش همینه و اصلا هیچ کجا نمی تونه تغییر کنه. یک بار بهش مقدار دهی کردیم دیگه تموم شد. دقت کنید ما دیگه نیومدیم بگیم a از نوع String باشه چون تو کاتلین کامپایلر خودش میاد مقدار متغیر a رو میخونه و میفهمه که اون یک String هست.

البته شاید شما دوست داشته باشین نوع یکی از متغیرهاتون رو تعیین کنید. خب مشکلی نیست:

val a: String = "Hello World"

ما باز بالا اومدیم با کلمه کلیدی val یک متغیر به نام a و از نوع String تعریف کردیم. یعنی نوع متغیر رو تعیین کردیم و گفتیم فقط String قبول کنه. اما در ماهیت val تغییری ایجاد نشد هااا... val میگه هر متغیری با من تعریف بشه چه نوعش مشخص بشه چه مشخص نشه اون متغیر فقط یکبار باید مقدار بپذیره.:DD:

 

بعضی وقت ها لازمه ما در جاهای مختلف مقدار متغیرمون رو عوض کنیم پس باید در این موقع از کلمه کلیدی var برای تعریف متغیر استفاده کنیم:

var b = "Hello World"
b= "Hello Answercenter"

همانور که در بالا می بینید، میتونیم مقدار متغیرهایی که با استفاده از var تعریف شدن رو هر زمانی تغییر بدیم درحالی که در val چنین خبرایی نیست...

البته باید این نکته رو یادآور بشم شما نمی تونید به صورت زیر عمل کنید:

var c = 12
c= True

ما در بالا اول یک متغیر به نام c تعریف کردیم و به اون یک مقدار عددی دادیم بنابراین کامپایلر در کاتین متغیر c رو از نوع int میبینه و ما نمی تونیم بعدا یک مقداری به جز int رو به این متغیر بدیم. درسته حالا از نوع var و تغییرپذیره اما نمیشه که اول مثلا یک مقدار int بدی بعدش یک مقدار boolean بدی! بخوای بعدا مقدارش رو عوض کنی باید همون یک مقدار int بهش بدی.

 

تا اینجا فهمیدیم که یک متغیر در کاتلین چطوری تعریف میشه اما ممکنه این سوال براتون پیش بیاد که شما یک متغیر تعریف کنید و اونو برابر 20 قرار بدی. خب اونوقت کامپایلر این متغیر رو اگه نوعش رو تعیین نکرده باشین یک متغیر int تشخیص میده اما شاید شما بخواین این متغیر از نوع Long باشه! اونوقت چی؟

باید آخر مقداری که به متغیر دادی اول حرف Long یعنی L رو هم بنویسی:

val myLong = 20L

الان کامپایلر متغیر myLong رو به چشم یک متغیر از نوع Long میبینه که مقدارش 20 هست و همچنین چون val هست نمیتونی اونو تغییر بدی!

این مسئله برای Float هم هست شما اگه میخوای کامپایلر به متغیرت به عنوان یک متغیر از نوع Float نگاه کنه باید آخر مقداری که بهش میدی یک F بزاری:

val myFloat1 = 20F
val myFloat2 = 9.32F

 

یک مسئله دیگه هم تبدیل متغیر ها به همدیگه هست. برای اینکار از توایع کمکی استفاده می کنیم. توابع کمکی در کاتلین اینها هستند:

toByte() //Byte تبدیل به 
toInt() //Int تبدیل به 
toLong() //Long تبدیل به 
toFloat() //Float تبدیل به 
toDouble() //Double تبدیل به 
toChar() //Char تبدیل به
toShort() //Short تبدیل به

برای این هم یک مثال بزنیم:

val a = 1400
val b = a.toLong()

در متغیر a عدد 1400 int هست و بنابراین کامپایلر a رو int میبینه. حالا یک متغیر دیگه به نام b تعریف می کنیم و همون a رو تبدیل به Long می کنیم و درونش می ریزیم. الان شما بگین کامپایلر متغیر b نوعش رو چی قرار میده؟ آفرین:Laie_60B:، Long قرار میده.

این آموزش هم به پایان رسید.:hi:

موفق باشید:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...