بوت کمپ Kotlin برای برنامه نویسان اندروید درس دو: آموزش عملگرها و نوع‌ها

2. آموزش عملگرها و نوع‌هادر این تکلیف، در مورد عملگرها و نوع‌ها در زبان برنامه نویسی کاتلین می‌آموزید.گام 1: کشف عملگرهای عددی1. برنامه IntelliJ IDEA را باز کنید، اگر پیش از این باز نکردید.2. برای باز کردن Kotlin REPL، به مسیر Tools > Kotlin > Kotlin REPL بروید.مانند سایر زبان‌ها، کاتلین از + ، - ، * و / برای جمع، تفریق، ضرب و تقسیم استفاده می‌کند. کاتلین همچنین از نوع عدد‌های متفاوت پشتیبانی می‌کند، مانند Int ، Long ، Double ، و Float.3. این عبارات را در REPL تایپ کنید. برای دیدن نتایج، Control+Enter را فشار دهید.در این آزمایشگاه کد، نماد ⇒ نشانگر خروجی کد شما است. در آخرین نسخه از REPL، خروجی شامل عدد حاصل و نوع نتیجه می‌شود.1+1 ⇒ res8: kotlin.Int = 253-3 ⇒ res9: kotlin.Int = 5050/10 ⇒ res10: kotlin.Int = 51.0/2.0 ⇒ res11: kotlin.Double = 0.52.0*3.5 ⇒ res12: kotlin.Double = 7.0توجه کنید نتیجه عملیات نوع عملیات را نگه‌می‌دارد، پس 0=1/2، اما 5.0=1.0/2.0.4. چند عبارت ترکیبی از عدد صحیح و اعشاری را امتحان کنید.6*50 ⇒ res13: kotlin.Int = 3006.0*50.0 ⇒ res14: kotlin.Double = 300.06.0*50 ⇒ res15: kotlin.Double = 300.05. چند متد روی اعداد صدا بزنید. کاتلین عددها را اولیه (premitive) نگه‌می‌دارد، اما به شما اجازه می‌دهد روی اعداد متد صدا بزنید، مثل یک شی.2.times(3) ⇒ res5: kotlin.Int = 63.5.plus(4) ⇒ res8: kotlin.Double = 7.5 2.4.div(2) ⇒ res9: kotlin.Double = 1.2قرار دادن اعداد در پوشش آبجکت امکان پذیر است، که به نام جعبه‌سازی (boxing) شناخته می‌شود. جعبه‌سازی خودکار انجام می‌شود، مثل مجموعه‎ها (collection) که در آن جعبه سازی اعداد بر اساس نیاز انجام می‌شود.پوشش شی، حافظه بیشتری نسبت به نگه‌داشتن یک عدد اولیه نیاز دارد. از جعبه سازی استفاده نکنید مگر زمانی که احتیاج دارید، مانند مجموعه‌ها که بعدتر به آن‌ها می‌پردازیم.گام 2: تمرین استفاده از نوع‌هاکاتلین به شیوه ضمنی (implicitly) بین نوع‌های عددی تبدیل نمی‌شود، پس شما نمی‌توانید یک مقدار کوتاه [Int] را مستقیما به یک متغیر Long اختصاص بدهید، یا اختصاص یک مقدار Byte به یک متغیر Int امکان پذیر نیست. به این دلیل که تبدیل ضمنی عدد منبع خطاهای متعدد برنامه نویسی است. شما همیشه می‌توانید مقدارها با نوع‌های مختلف را با معین کردن (casting) به هم اختصاص دهید.1. این یک معین کردن است، یک متغیر از نوع Int در REPL تعریف کنید.val i: Int = 62. یک متغیر جدید بسازید، بعد نام متغیری که بالا نمایش داده شد را وارد کنید، به همراه to.val b1 = i.toبرنامه IntelliJ IDEA یک لیست از تکمیل‌های احتمالی نمایش می‌دهد. این تکمیل‌خودکار برای متعیرها و شی‌ها از هر نوع کار می‌کند.تکمیل خودکار در IntelliJ IDEA3. از لیست ()toByte را انتخاب کنید، بعد متغیر را چاپ کنید.val b1 = i.toByte() println(b1) ⇒ 64. یک مقدار Byte به متغیرها از نوع های مختلف اختصاص دهید.val b2: Byte = 1 println(b2) ⇒ 1val i1: Int = b2 ⇒ error: type mismatch: inferred type is Byte but Int was expectedval i2: String = b2 ⇒ error: type mismatch: inferred type is Byte but String was expectedval i3: Double = b2 ⇒ error: type mismatch: inferred type is Byte but Double was expected5. برای واگذاری‌هایی که خطا برمی‌گرداند، از معین کردن (casting) استفاده کنید.val i4: Int = b2.toInt() // OK! println(i4) ⇒ 1val i5: String = b2.toString() println(i5) ⇒ 1val i6: Double = b2.toDouble() println(i6) ⇒ 1.06. برای راحت‌تر خوانده شدن ثابت‌های عددی (constant) بلند، کاتلین به شما اجازه می‌دهد تا هر کجا که برای شما قابل فهم است زیرخط بگذارید. وارد کردن ثابت‌های عددی مختلف را امتحان کنید.val oneMillion = 1_000_000val socialSecurityNumber = 999_99_9999Lval hexBytes = 0xFF_EC_DE_5Eval bytes = 0b11010010_01101001_10010100_10010010چون کاتلین قدرتمند تایپ می‌شوند، کامپایلر می‌تواند نوع متغیرها را نتیجه‌گیری کند، پس شما نیاز ندارید صریح اعلام کنید.گام 3: یادگیری مقدار انواع متغیرکاتلین از 2 نوع متغیر پشتیبانی می‌کند، قابل تغییر و غیر قابل تغییر. با val شما می‌توانید یک مقدار را یکبار اختصاص بدهید. اگر می‌خواهید چیزی دوباره اختصاص بدهید، یک خطا می‌گیرید. با var می‌توانید یک مقدار اخصاص بدهید، و در آینده مقدار را در برنامه تغییر بدهید.1. با استفاده از val و var متغیرهایی تعریف کنید و بعد مقادیر جدید به آنها اختصاص بدهید.var fish = 1 fish = 2 val aquarium = 1 aquarium = 2 ⇒ error: val cannot be reassignedشما می‌توانید به fish یک مقدار بدهید، بعد یک مقدار جدید به آن بدهید، چون آن را با var تعریف کردید. تلاش برای اختصاص یک مقدار جدید به aquarium یک خطا می‌دهد چون با val تعریف شد.نوعی که در یک متغیر نگه‌داری می‌کنید وقتی کار می‌کند که کامپایلر بتواند آن را از متن برداشت کند. اگر می‌خواهید، می‌توانید با استفاده از علامت دو نقطه (:) یک نوع از متغیر را صریح تعریف کنید.2. چند متغیر تعریف کنید و نوع آن‌ها را صریح تعیین کنید.var fish: Int = 12 var lakes: Double = 2.5وقتی یک نوع توسط شما یا کامپایلر اختصاص داده شود، نمی‌توانید نوع را تغییر بدهید، یا با یک خطا مواجه می‌شوید.گام 4: درباره رشته‌ها یادبگیریدرشته‌ها در کاتلین تا حد زیادی مثل سایر زبان‌های برنامه نویسی با استفاده از رشته‌ها و کاراکترها کار می‌کند، شما می‌توانید رشته‌ها را با استفاده از عملگر + پیوند بزنید. شما می‌‌توانید با ترکیب آن‌ها با مقادیر قالب رشته (string template) بسازید: variable$ با متنِ نمایش‌دهنده مقدار جایگزین می‎شود. به این درون‌یابی متغیر گفته می‎‌شود.1. یک قالب رشته بسازید.val numberOfFish = 5 val numberOfPlants = 12 &quotI have $numberOfFish fish&quot + &quot and $numberOfPlants plants&quot ⇒ res20: kotlin.String = I have 5 fish and 12 plants2. یک قالب رشته با یک عبارت در آن بسازید. مثل سایر زبان‌ها، مقدار می‌تواند نتیجه یک عبارت باشد. از اکولاد برای تعریف عبارت استفاده کنید.&quotI have ${numberOfFish + numberOfPlants} fish and plants&quot ⇒ res21: kotlin.String = I have 17 fish and plantsبخش قبل | فهرست درس | بخش بعد