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

4 سال پیش

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

در برنامه نویسی کاتلین مجموعه ای از عملگرها یا اپراتورها را دارد که عملگرهای حساب، انتساب  مقایسه و سایر موارد را انجام می دهد. در این مقاله استفاده از این عملگرها را یاد خواهید گرفت.

عملگرها نمادها (نویسه ها) خاصی هستند که عملیات را روی عملوندها (متغیرها و مقادیر) انجام می دهند. به عنوان مثال ، + عملیاتی است که جمع را انجام می دهد.

 

۱٫ عملگرهای حساب در کاتلین

در اینجا لیستی از عملگرهای حساب در کوتلین آورده شده است:

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

اپراتور معنی
+ به علاوه (همچنین برای اتصال رشته استفاده می شود)
اپراتور تفریق
* اپراتور ضرب
/ اپراتور تقسیم
% اپراتور پیمانه

 

مثال: اپراتورهای حساب

fun main(args: Array<String>) {

    val number1 = 12.5
    val number2 = 3.5
    var result: Double

    result = number1 + number2
    println("number1 + number2 = $result")

    result = number1 - number2
    println("number1 - number2 = $result")

    result = number1 * number2
    println("number1 * number2 = $result")

    result = number1 / number2
    println("number1 / number2 = $result")

    result = number1 % number2
    println("number1 % number2 = $result")
}

 

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

number1 + number2 = 16.0
number1 - number2 = 9.0
number1 * number2 = 43.75
number1 / number2 = 3.5714285714285716
number1 % number2 = 2.0

 

از عملگر + برای اتصال مقادیر String نیز استفاده می شود.

 

مثال: اتصال رشته ها

fun main(args: Array<String>) {

    val start = "Talk is cheap. "
    val middle = "Show me the code. "
    val end = "- Linus Torvalds"

    val result = start + middle + end
    println(result)
}

 

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

Talk is cheap. Show me the code. - Linus Torvalds

 

عملگرهای حساب در برنامه نویسی کاتلین چگونه کار می کنند؟

فرض کنید شما برای جمع کردن دو عدد a و b از عملگر حساب + استفاده می کنید.

عبارت a + b عملکرد عضو a.plus(b) را فراخوانی می کند. اپراتور + برای کار با مقادیر String و سایر انواع داده های اساسی (به استثنای Char و بولی) بیش از حد بارگیری می شود.

// + operator for basic types
operator fun plus(other: Byte): Int
operator fun plus(other: Short): Int
operator fun plus(other: Int): Int
operator fun plus(other: Long): Long
operator fun plus(other: Float): Float
operator fun plus(other: Double): Double

// for string concatenation
operator fun String?.plus(other: Any?): String

 

برای کار با انواع تعریف شده توسط کاربر (مانند اشیا) با بارگذاری بیش از حد () plus می توانید از عملگر + استفاده کنید.

 

در اینجا جدولی از عملگرهای حساب و توابع متناظر با آنها آورده شده است

اصطلاح نام عملکرد ترجمه
a + b plus a.plus(b)
a – b minus a.minus(b)
a * b times a.times(b)
a / b div a.div(b)
a % b mod a.mod(b)

 

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

عملگرهای انتساب برای اختصاص مقدار به یک متغیر استفاده می شوند. ما قبلاً از عملگر انتساب ساده = قبلاً استفاده کرده ایم.

val age = 5

 

در اینجا، ۵ با استفاده از عملگر = به متغیر سن اختصاص داده می شود.

در اینجا لیستی از همه اپراتورهای انتساب و توابع مربوطه آنها وجود دارد:

اصطلاح نام عملکرد ترجمه
a +=b a = a + b a.plusAssign(b)
a -= b a = a – b a.minusAssign(b)
a *= b a = a * b a.timesAssign(b)
a /= b a = a / b a.divAssign(b)
a %= b a = a % b a.modAssign(b)

 

مثال: اپراتورهای انتساب

fun main(args: Array<String>) {
    var number = 12

    number *= 5   // number = number*5
    println("number  = $number")
}

 

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

number = 60

۳٫ پیشوند یگانی و اپراتورهای افزایش / کاهش در کاتلین

در اینجا یک جدول از عملگرهای یگانی، معنی آنها و توابع مربوطه آورده شده است:

 

اپراتور معنی اصطلاح ترجمه
+ جمع یگانی +a a.unaryPlus()
تفریق یگانی (علامت وارونه) -a a.unaryMinus()
! نه (مقدار را معکوس می کند) !a a.not()
++ افزایش: مقدار را با ۱ واحد افزایش می دهد ++a a.inc()
کاهش: مقدار را ۱ واحد کاهش می دهد –a a.dec()

 

مثال: اپراتورهای یگانی

fun main(args: Array<String>) {
    val a = 1
    val b = true
    var c = 1

    var result: Int
    var booleanResult: Boolean

    result = -a
    println("-a = $result")

    booleanResult = !b
    println("!b = $booleanResult")

    --c
    println("--c = $c")
}

 

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

-a = -1
!b = false
--c = 0

 

 

عملگر معنی اصطلاح ترجمه
> بزرگتر از a > b a.compareTo(b) > 0
< کمتر از a < b a.compareTo(b) < 0
>= بزرگتر یا مساوی با a >= b a.compareTo(b) >= 0
<= کمتر از یا مساوی با a < = b a.compareTo(b) <= 0
== برابر است با a == b a?.equals(b) ?: (b === null)
!= برابر نیست با a != b !(a?.equals(b) ?: (b === null))

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

 

مثال: اپراتورهای مقایسه و برابری

fun main(args: Array<String>) {

    val a = -12
    val b = 12

    // use of greater than operator
    val max = if (a > b) {
        println("a is larger than b.")
        a
    } else {
        println("b is larger than a.")
        b
    }

    println("max = $max")
}

 

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

b is larger than a.
max = 12

 

عملگرهای منطقی در برنامه نویسی کاتلین

در کاتلین دو عملگر منطقی وجود دارد: || و &&

در اینجا جدولی از عملگرهای منطقی، معنی آنها و توابع مربوطه آورده شده است.

اپراتور شرح اصطلاح عملکرد مربوطه
|| true  است اگر هر یک از عبارات بولیtrue باشد (a>b)||(a<c) (a>b)or(a<c)
&& true  است اگر تمام عبارات بولی true باشد (a>b)&&(a<c) (a>b)and(a<c)

توجه داشته باشید که orو andیا توابع پشتیبانی از نماد گذاری اینفیکس (میانوندی) هستند.

عملگرهای منطقی در جریان کنترل مانند if، زمان بیان و حلقه ها استفاده می شوند.

 

مثال: اپراتورهای منطقی

fun main(args: Array<String>) {

    val a = 10
    val b = 9
    val c = -1
    val result: Boolean

    // result is true is a is largest
    result = (a>b) && (a>c) // result = (a>b) and (a>c)
    println(result)
}

 

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

true

 

۶٫  عملگر in در کاتلین

از عملگر in برای بررسی اینکه آیا یک شی به یک مجموعه تعلق دارد استفاده می شود.

عملگر اصطلاح ترجمه
in a in b b.contains(a)
!in a !in b !b.contains(a)

 

مثال: عملگر in

fun main(args: Array<String>) {

    val numbers = intArrayOf(1, 4, 42, -3)

    if (4 in numbers) {
        println("numbers array contains 4.")
    }
}

 

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

numbers array contains 4.

 

 

۷٫ عملگر دسترسی شاخص در کاتلین

در اینجا برخی از عبارات با استفاده از عملگر دسترسی شاخص با توابع مربوطه در کاتلین آورده شده است.

اصطلاح ترجمه
a[i] a.get(i)
a[i, n] a.get(i, n)
a[i1, i2, ..., in] a.get(i1, i2, ..., in)
a[i] = b a.set(i, b)
a[i, n] = b a.set(i, n, b)
a[i1, i2, ..., in] = b a.set(i1, i2, ..., in, b)

 

مثال: عملگر دسترسی شاخص

fun main(args: Array<String>) {

    val a  = intArrayOf(1, 2, 3, 4, - 1)
    println(a[1])   
    a[1]= 12
    println(a[1])
}

 

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

۲
۱۲

 

 

۸- عملگر فراخوانی (Invoke) در برنامه نویسی کاتلین

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

اصطلاح ترجمه
a() a.invoke()
a(i) a.invoke(i)
a(i1, i2, ..., in) a.inkove(i1, i2, ..., in)
a[i] = b a.set(i, b)

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

 

عملگر بیتی (Bitwise) در کاتلین

بر خلاف جاوا ، هیچ عملگر بیتی و بیت شیفتی در کاتلین وجود ندارد. برای انجام این کار، از توابع مختلف (پشتیبانی از نماد infix) استفاده می شود:

  • shl – شیفت به سمت چپ با علامت
  • shr – شیفت به سمت راست با علامت
  • ushr – شیفت به سمت راست بدون علامت
  • and – و بیتی
  • or –  یا بیتی
  • xor-  xor بیتی
  • inv – معکوس بیتی

 

منبع.

برای اطلاعات بیشتر از دیگر آموزش های برنامه نویسی ما به وب سایت و اینستاگرام ما مراجعه کنید

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

  1. معرفی کاتلین،  Kotlin Hello World – اولین برنامه کاتلین
  2. انواع متغیرهای پایه در کاتلین

 

 

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه