عبارت when در برنامه نویسی کاتلین

4 سال پیش
در این مقاله از سری آموزش های برنامه نویسی وب سایت سورس باران، عبارت when در برنامه نویسی کاتلین با استفاده از مثالهای مختلف را یاد خواهید گرفت.

عبارت when در برنامه نویسی کاتلین

در این مقاله از سری آموزش های برنامه نویسی وب سایت سورس باران، عبارت when در برنامه نویسی کاتلین با استفاده از مثالهای مختلف را یاد خواهید گرفت.

می توان ساختار when را در کاتلین به عنوان جایگزینی برای گزاره سوئیچ جاوا در نظر گرفت. یک بخش از کد را در میان گزینه های مختلف ارزیابی می کند.

 

مثال: عبارت when در برنامه نویسی کاتلین

fun main(args: Array<String>) {

    val a = 12
    val b = 5

    println("Enter operator either +, -, * or /")
    val operator = readLine()

    val result = when (operator) {
        "+" -> a + b
        "-" -> a - b
        "*" -> a * b
        "/" -> a / b
        else -> "$operator operator is invalid operator."
    }

    println("result = $result")
}

 

هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:

Enter operator either +, -, * or /
*
result = 60

 

در کد بالا یک رشته ورودی را از کاربر می گیرد. فرض کنید کاربر مقدار * را وارد می کند. در این حالت، عبارت a * b ارزیابی می شود و مقدار به نتیجه متغیر اختصاص می یابد.

اگر هیچ یک از شرایط شاخه برقرار نباشد (یعنی کاربر به جز +-*/یا else) چیز دیگری وارد کرده است، شاخه دیگری ارزیابی می شود.

در مثال بالا ، از when به عنوان یک عبارت استفاده کردیم. با این حال ، استفاده از when به عنوان عبارت اجباری نیست. به عنوان مثال،

fun main(args: Array<String>) {

    val a = 12
    val b = 5

    println("Enter operator either +, -, * or /")
    val operator = readLine()

    when (operator) {
        "+" -> println("$a + $b = ${a + b}")
        "-" -> println("$a - $b = ${a - b}")
        "*" -> println("$a * $b = ${a * b}")
        "/" -> println("$a / $b = ${a / b}")
        else -> println("$operator is invalid")
    }
}

 

هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:

Enter operator either +, -, * or /
-
۱۲ - ۵ = ۷

 

در مثال بالا، when یک عبارت نیست . همچنبن به دلیل اینکه مقدار برگشتی از when به چیزی چیزی اختصاص داده نمی شود. در این حالت استفاده از شاخه else اجباری نیست.

دیگر کاربردهای  when در برنامه نویسی کاتلین

در صورت وجود دو یا چند شرط می توانید شاخه را با کاما ترکیب کنید. به عنوان مثال،

fun main(args: Array<String>) {

    val n = -1

    when (n) {
        ۱, ۲, ۳ -> println("n is a positive integer less than 4.")
        ۰ -> println("n is zero")
        -۱, -۲ -> println("n is a negative integer greater than 3.")
    }
}

 

هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:

n is a negative integer greater than 3.

 

بررسی مقدار در محدوده در کاتلین

fun main(args: Array<String>) {

    val a = 100

    when (a) {
        in 1..10 -> println("A positive number less than 11.")
        in 10..100 -> println("A positive number between 10 and 100 (inclusive)")
    }
}

 

هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:

A positive number between 10 and 100 (inclusive)

 

بررسی یک مقدار خاص در کاتلین

برای بررسی اینکه آیا مقدار در زمان اجرا از نوع خاصی است، می توانیم از عملگر is و !is استفاده کنیم. به عنوان مثال،

when (x) {
    is Int -> print(x + 1)
    is String -> print(x.length + 1)
    is IntArray -> print(x.sum())
}

 

از عبارات به عنوان شرط شاخه استفاده کنید. به عنوان مثال،

fun main(args: Array<String>) {

    val a = 11
    val n = "11"

    when (n) {
        "cat" -> println("Cat? Really?")
        ۱۲٫toString() -> println("Close but not close enough.")
        a.toString() -> println("Bingo! It's eleven.")
    }
}

 

هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:

Bingo! It's eleven.

 

 

منبع.

 

لیست جلسات قبل آموزش برنامه نویسی کاتلین

  1. معرفی کاتلین،  Kotlin Hello World – اولین برنامه کاتلین
  2. انواع متغیرهای پایه در کاتلین
  3. عملگرهای برنامه نویسی کاتلین
  4. تبدیل نوع در برنامه نویسی کاتلین
  5. عبارت ها، گزاره ها و بلوک ها در برنامه نویسی کاتلین
  6. کامنت ها در برنامه نویسی کاتلین
  7. ورودی / خروجی پایه در برنامه نویسی کاتلین
  8. عبارت if در برنامه نویسی کاتلین
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه