سورس کد نمایش لیست در کاتلین - آموزش برنامه نویسی kotlin
سورس کد نمایش لیست در کاتلین – آموزش برنامه نویسی kotlin
1398-06-16
نمایش نوتیفیکیشن در اندروید با فایربیس
نمایش نوتیفیکیشن در اندروید با فایربیس
1398-06-21

ساختارهای کنترلی در کاتلین : دستورهای if ، when ، for و while در کاتلین ، در این قسمت از آموزش زبان Kotlin به آموزش ساختارهای کنترلی ( ساختارهای تصمیم یا دستورات شرطی و ساختارهای تکرار یا حلقه ها ) در کاتلین پرداخته ایم. همانطور که میدونیم دستورات کلیدی و اصلی برنامه نویسی دستورات if ، switch case ، for ، while و … هست که تقریبا میتوان گفت در تمامی زبان ها مانند سی ، سی پلاس پلاس و … هم با یک سینتکس خیلی مشابه نوشته میشود.

و حالا در کاتلین به این دستورات می پردازیم و مثالی از هرکدام را در ادامه خواهیم آورد 🙂

ساختارهای کنترلی در کاتلین : دستورهای if ، when ، for و while در کاتلین

ساختارهای کنترلی در کاتلین: ساختارهای تصمیم (دستورات شرطی در کاتلین )

ساختار تصمیم if یا دستور if در کاتلین :

دستور شرطی if درکاتلین را میتوان خیلی خلاصه و ساده پیاده کرد. برای مثال اگر شرطی دارید که تنها یک مقدار برمیگرداند میتوانید شرط if را چنین بنویسید (condition ? then : else)

بدون else

if (a < b) max = b

همراه با else

val max = if (a > b) a else b

توجه کنید که دستور if بالا بجای دستور

var max: Int
if (a > b) {
    max = a
} else {
    max = b
}

نوشته شده و مشخصا ۶ خط کد به ۱ خط تبدیل شده که واقعا به تمیزی کد کمک میکند.حتی میتوان دستورات دیگری را در بلاک if / else نوشت مطابق دستور زیر:

val max = if (a > b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}

ساختار تصمیم when یا دستور when در کاتلین :

دستور when درواقع همان دستور swich case در زبان های جاوا و php و … است با این تفاوت که در کاتلین خیلی کوتاه تر و تمیز تر شده.برای مثال:

when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // Note the block
        print("x is neither 1 nor 2")
    }
}

دیگر خبری از case برا چک کردن مقادیر نیست و تنها کافی ست مقداری که احتمال میدهیم بوجود بیاید را بنویسیم و با علامت <- عملیاتی که انتظار داریم اتفاق بیوفتد را بنویسیم و دیگر نیازی هم به brake نخواهد بود چرا که بصورت اتوماتیک brake میشود.در نهایت بجای default هم از else استفاده شده و برای سوییچ هایی که میخواهیم عملیاتی مشابه برای دو مقدار بنویسیم هم میتوانیم بدین صورت دستور when را بنویسیم:

when (x) {
    0, 1 -> print("x == 0 or x == 1")
    else -> print("otherwise")
}

حتی میتوان when هایی که تنها یک مقدار برمیگردانند هم به عنوان value یک متد یا متغیر در نظر گرفت مانند زیر:

fun hasPrefix(x: Any) = when(x) {
    is String -> x.startsWith("prefix")
    else -> false
}

توجه کنید که دستور is چک میکند که آیا مقدار string هست یا خیر.

ساختارهای کنترلی در کاتلین: ساختارهای تکرار (حلقه ها در کاتلین)

ساختار تکرار یا حلقه for در کاتلین :

حلقه for در کاتلین نیز کمی بهینه تر شده و میتوان مقادیری که در آن loop میکند را کمی بیشتر به بازی گرفت به عنوان مثال میتوان یک مقدار را به عنوان اینستنس یک لیست در نظر گرفت و دیگر نیازی به get(position) کردن نباشد.

for (item in collection) print(item)

و یا همچنین میتواند یک بلاک باشد

for (item: Int in ints) {
    // ...
}

و یا میتوان در حلقه for یک رنج قرار داد مشابه زیر:

for (i in 1..3) {
    println(i)
}

و یا رنج با مشخص کردن step

for (i in 6 downTo 0 step 2) {
     println(i)
 }

ساختار تکرار یا حلقه while در کاتلین :

دستور while و do while مشابه دستورات قدیمی ست و تغییری نکرده

while (x > 0) {
    x--
}

do {
    val y = retrieveData()
} while (y != null) // y is visible here!

سرفصل های آموزش زبان کاتلین (Kotlin):

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *