امیرحسین قاسمی 610 ارسال شده در 21 مرداد، ۱۴۰۰ اشتراک گذاری ارسال شده در 21 مرداد، ۱۴۰۰ سلام، اولین تاپیک و آموزش رو با اجازه از اساتید و بقیه دوستان عزیز در بخش کاتلین مینویسم همانطور که می دونین متغیرها مانند ظرفی هستن که انواع مختلفی از داده ها رو به طور موقت در خود ذخیره می کنن. یکی از مزیت های کاتلین به متغیرها مربوط میشه. درواقع شما میتونین نوع متغیر رو تعیین نکنید. همچنین در جاوا یا b4a میتونستیم چندتا متغیر رو در یک خط تعریف کنیم اما توی کاتلین چنین امکانی وجود ندارد. به عنوان مثال در جاوا حتما باید نوع متغیر تعیین بشه. مثلا: String Mystring="Hello World"; یا در b4a هم همینطور! باید نوع متغیر تعیین بشه: Dim Myint As int=1 اما در کاتلین شما میتونین فقط از کلمه کلیدی val استفاده کنید و بعدش نام متغیر رو بنویسید و اونو مقداردهی کنید. به طور کلی در کاتلین دوتا کلمه کلیدی برای تعریف متغیر داریم: 1-val: برای تعریف متغیرهای ثابت استفاده می شود و فقط یکبار مقداردهی میشوند و مقدار آنها را نمیتوان عوض کرد. 2-var: برای تغریف متغیرهای ثابت استفاده می شود و میتوان مقدار آنها را عوض کرد اما نوع آنها را نمیتوان عوض کرد، به عنوان مثال اگر مقدار آن از نوع boolean است، هنگام عوض کردن مقدار آن باید مقداری از نوع boolean به آن داده شود. (چون میتوینم نوع متغیر رو تو کاتلین تعیین نکنیم شاید بگین میتونیم یک متغیر همون اول با کلمه کلیدی var درست کنیم و بعد هرکجا مقدارش رو با هرنوع داده ای عوض کنیم. مثلا اول بهش String بدیم بعد مقدارش رو boolean کنیم! نه اصلا اینطوری نیست...) شما بهتره بیشتر روی val مانور بدین. چون فقط یکبار مقداردهی میشن و در طول پروژه دیگه نمیتونین مقدارش رو تغییر بدین و یه باگی به وجود بیاد. خب بریم چندتا مثال کار کنیم تا مطالب بالا بهتر براتون جا بیفته: val a = "Hello World" بالا یک متغیر به نام a با کلمه کلیدی val تعریف کردیم و اونو برابر Hello world قرار دادیم که تا آخر مقدارش همینه و اصلا هیچ کجا نمی تونه تغییر کنه. یک بار بهش مقدار دهی کردیم دیگه تموم شد. دقت کنید ما دیگه نیومدیم بگیم a از نوع String باشه چون تو کاتلین کامپایلر خودش میاد مقدار متغیر a رو میخونه و میفهمه که اون یک String هست. البته شاید شما دوست داشته باشین نوع یکی از متغیرهاتون رو تعیین کنید. خب مشکلی نیست: val a: String = "Hello World" ما باز بالا اومدیم با کلمه کلیدی val یک متغیر به نام a و از نوع String تعریف کردیم. یعنی نوع متغیر رو تعیین کردیم و گفتیم فقط String قبول کنه. اما در ماهیت val تغییری ایجاد نشد هااا... val میگه هر متغیری با من تعریف بشه چه نوعش مشخص بشه چه مشخص نشه اون متغیر فقط یکبار باید مقدار بپذیره. بعضی وقت ها لازمه ما در جاهای مختلف مقدار متغیرمون رو عوض کنیم پس باید در این موقع از کلمه کلیدی 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 نوعش رو چی قرار میده؟ آفرین، Long قرار میده. این آموزش هم به پایان رسید. موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.