شرط ها در کاتلین : آموزش کاتلین (قسمت 11)
سلام به همگی، تو این مقاله میخام در مورد شرط ها در کاتلین صحبت کنم، شرط ها در کاتلین بسیار شبیه ساختارهای شرطی در جاوا هستش، ولی یه سری امکانات بیشتری داره که میتونه کار ما رو ساده تر کنه، که تو این مقاله بصورت کامل قراره بهشون بپردازیم.
راستی قبل از اینکه ادامه این آموزش رو بخونی، میدونستی ما تو سایت ترولرن یه دوره آموزش رایگان برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزشهای رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش میدیم.
کوتلین از شروط منطقی که در ریاضیات وجود دارد پشتیبانی میکند:
- کمتر از:
a < b
- کمتر یا مساوی با:
a <= b
- بزرگتر از:
a > b
- بزرگتر یا مساوی با:
a >= b
- برابر با
a == b
- مساوی نیست با:
a != b
شما میتوانید از این شروط برای تصمیم گیری های مختلف در سطح برنامه و درون جملات شرطی استفاده کنید، و متناسب با این تصمیم گیری ساختار برنامه را کنترل کنید و عملیات مورد نظر خود را انجام دهید.
شرط ها در کاتلین
از 4 کلمه کلیدی زیر برای مدیریت شرط ها در کاتلین استفاده میکند:
- استفاده از
if
: اگر شرط موجود در پرانتز درست باشد، کدهای درون بلاکif
اجرا میشوند. - استفاده از
else
: اگر همان شرط بالا درست نباشد، کدهای درون این بلاک اجرا خواهند شد.(شرط دورن پرانتز ندارد) - استفاده از
else if
: اگر شرط اول نادرست باشد،و بخواهیم یک شرط جدید را تست کنیم، اگر شرط موجود در پرانتز درست باشد کدهای درون این بلاک اجرا میشود. - استفاده از
when
: از این شرط زمانی استفاده میکنیم که تعداد زیادی شرط برای بررسی وجود داشته باشد.
نکته مهم: در کاتلین میتوانیم نتیجه یک شرط را مستقیم درون یک متغیر بریزیم، و این یکی از مزایای کاتلین نسبت به جاوا است. در ادامه مقاله این مورد را شرح میدهیم پس با ما همراه باشید.
شرط if در کاتلین
در جلوی دستور if
یک پرانتز وجود دارد که شرط را داخل آن نوشته ایم، اگر این شرط برقرار باشد وارد بلاک if
شده و کدهای درون آن اجرا میشود:
if (condition) { //اگر شرط درست باشد این کدها اجرا میشوند }
توجه داشته باشید که if
با حروف کوچک است. حروف بزرگ (If یا IF) خطا ایجاد می کنند.
در مثال زیر دو متغیر x
و y
را باهم مقایسه میکنیم تا به این پی ببریم که کدام بزرگتر از دیگری هستند:
val x = 25 val y = 21 if (x > y) { println("x بزرگتر است") //چون شرط برقرا است، این خط کد اجرا میشود }
else در کاتلین
دستور else
زمانی استفاده میشود که همهی شروط if
و else if
برقرار نباشد، ومعنای آن این میشود: “اگر هیچ کدام از شروط برقرار نبود” آنگاه کدهای درون این بلاک اجرا میشود:
val time = 7 if (time < 12) { println("روز خوبی داشته باشید") } else { println("بعد از ظهر خوبی داشته باشید") } //خروجی : روز خوبی داشته باشید
در مثال بالا ساعت روز را چک میکنیم، در شرط if
گفتیم اگر ساعت از 12 کمتر بود، بگو روز خوبی داشته باشید، ودر else
گفتیم که اگر شرط بالا برقرار نبود، این بلاک اجرا شود، با توجه به اینکه متغیر time
ساعت 7 را نشان میدهد، و 7 از 12 کمتر است، پس شرط جمله if
درست بوده و برنامه به داخل بلاک if
میرود و کدهای درون آن را اجرا میکند. که نتیجهی آن چاپ خروجی “روز خوبی داشته باشید” است.
else if در کاتلین
اگر شرط موجود در if
برقرار نباشد، برای تست کردن سایر شروط از جمله else if
استفاده میکنیم به مثال زیر دقت کنید:
val time = 23 if (time < 10) { println("صبح بخیر") } else if (time < 20) { println("روز بخیر") } else { println("شب بخیر") } //خروجی : شب بخیر
خب در مثال بالا گفتیم اگر ساعت از 10 کمتر بود شرط if
برقرار است و برو داخل بلاک if و مقدار صبح خیر را چاپ کن، در غیر اینصورت اگر (else if) ساعت از 20 کمتر بود برو داخل بلاک else if
و مقدار روز بخیر را چاپ کن، و اگر هیچ کدام از شروز بالا برقرار نبود برو کدهای بلاک else
را اجرا کن و بگو شب بخیر
که چون ساعت فعلی که درون متغیر time
قرار دارد 23 است، مقدار شب بخیر را چاپ میکند، اگر مثلا الان ساعت 8 بود، طبق برنامه بالا مقدار صبح بخیر چاپ میشد.
ریختن خروجی شرط دورن یک متغیر در کاتلین
این یکی از مزایای شرط ها در کاتلین است که میتوانیم نتیجه حملات شرطی را بصورت مستقیم درون یک متغیر بریزیم، برای درک بهتر این موضوع، قطعه کد زیر را ببینید:
val time = 19 val greeting = if (time < 17) { "Good day." } else { "Good evening." } println(greeting)
نکته مهم: اگر میخواهید از if
مانند مثال بالا استفاده کنید، if شما حتما باید جمله else
هم داشته باشد.
و همانطور که میدانید، اگر کدهای درون بلاک if
و else
یک خط کد باشند، میتوانیم کروشه ها را حذف کنیم مانند مثال زیر :
fun main() { val time = 20 val greeting = if (time < 17) "Good day." else "Good evening." println(greeting) }
میدوارم مطالبی که در مورد شرط ها در کاتلین گفتم براتون مفید بوده باشه، از دیدن پیج اینستاگرام ترولرن غافل نشید، راستی یادتون باشه که همیشه بهترین جا برای یادگیری هر زبان برنامه نویسی، سایت خودش و خوندن داکیومنت های مرجع اون زبان هستش، بعد از خوندن این مقاله میتونید برای اطلاعات بیشتر به اینجا مراجعه کنید.
درباره محمد زارع
از سال 94 بصورت جدی وارد عرصه برنامه نویسی اندروید شدم، در شرکتها و استارتآپهای زیادی مشغول به کار بوده و تجربه کسب کرده ام و در این سایت قصد دارم این تجربه را به اشتراک بگذارم
نوشته های بیشتر از محمد زارع
دیدگاهتان را بنویسید