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

عملگرهای برنامه نویسی کاتلین
در برنامه نویسی کاتلین مجموعه ای از عملگرها یا اپراتورها را دارد که عملگرهای حساب، انتساب مقایسه و سایر موارد را انجام می دهد. در این مقاله استفاده از این عملگرها را یاد خواهید گرفت.
عملگرها نمادها (نویسه ها) خاصی هستند که عملیات را روی عملوندها (متغیرها و مقادیر) انجام می دهند. به عنوان مثال ، + عملیاتی است که جمع را انجام می دهد.
1. عملگرهای حساب در کاتلین
در اینجا لیستی از عملگرهای حساب در کوتلین آورده شده است:
|
اپراتورهای حساب در کاتلین |
|
| اپراتور | معنی |
| + | به علاوه (همچنین برای اتصال رشته استفاده می شود) |
| – | اپراتور تفریق |
| * | اپراتور ضرب |
| / | اپراتور تقسیم |
| % | اپراتور پیمانه |
مثال: اپراتورهای حساب
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 2 3 4 5 |
number1 + number2 = 16.0 number1 - number2 = 9.0 number1 * number2 = 43.75 number1 / number2 = 3.5714285714285716 number1 % number2 = 2.0 |
از عملگر + برای اتصال مقادیر String نیز استفاده می شود.
مثال: اتصال رشته ها
|
1 2 3 4 5 6 7 8 9 |
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) } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 |
Talk is cheap. Show me the code. - Linus Torvalds |
عملگرهای حساب در برنامه نویسی کاتلین چگونه کار می کنند؟
فرض کنید شما برای جمع کردن دو عدد a و b از عملگر حساب + استفاده می کنید.
عبارت a + b عملکرد عضو a.plus(b) را فراخوانی می کند. اپراتور + برای کار با مقادیر String و سایر انواع داده های اساسی (به استثنای Char و بولی) بیش از حد بارگیری می شود.
|
1 2 3 4 5 6 7 8 9 10 |
// + 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) |
عملگرهای انتساب در برنامه نویسی کاتلین
عملگرهای انتساب برای اختصاص مقدار به یک متغیر استفاده می شوند. ما قبلاً از عملگر انتساب ساده = قبلاً استفاده کرده ایم.
|
1 |
val age = 5 |
در اینجا، 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) |
مثال: اپراتورهای انتساب
|
1 2 3 4 5 6 |
fun main(args: Array<String>) { var number = 12 number *= 5 // number = number*5 println("number = $number") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 |
number = 60 |
3. پیشوند یگانی و اپراتورهای افزایش / کاهش در کاتلین
در اینجا یک جدول از عملگرهای یگانی، معنی آنها و توابع مربوطه آورده شده است:
| اپراتور | معنی | اصطلاح | ترجمه |
|---|---|---|---|
| + | جمع یگانی | +a | a.unaryPlus() |
| – | تفریق یگانی (علامت وارونه) | -a | a.unaryMinus() |
| ! | نه (مقدار را معکوس می کند) | !a | a.not() |
| ++ | افزایش: مقدار را با 1 واحد افزایش می دهد | ++a | a.inc() |
| — | کاهش: مقدار را 1 واحد کاهش می دهد | –a | a.dec() |
مثال: اپراتورهای یگانی
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 2 3 |
-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)) |
عملگرهای مقایسه و برابری در جریان کنترل مانند بیان، زمان بیان، و حلقه ها استفاده می شود.
مثال: اپراتورهای مقایسه و برابری
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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") } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 2 |
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، زمان بیان و حلقه ها استفاده می شوند.
مثال: اپراتورهای منطقی
|
1 2 3 4 5 6 7 8 9 10 11 |
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) } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 |
true |
6. عملگر in در کاتلین
از عملگر in برای بررسی اینکه آیا یک شی به یک مجموعه تعلق دارد استفاده می شود.
| عملگر | اصطلاح | ترجمه |
|---|---|---|
| in | a in b | b.contains(a) |
| !in | a !in b | !b.contains(a) |
مثال: عملگر in
|
1 2 3 4 5 6 7 8 |
fun main(args: Array<String>) { val numbers = intArrayOf(1, 4, 42, -3) if (4 in numbers) { println("numbers array contains 4.") } } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 |
numbers array contains 4. |
7. عملگر دسترسی شاخص در کاتلین
در اینجا برخی از عبارات با استفاده از عملگر دسترسی شاخص با توابع مربوطه در کاتلین آورده شده است.
| اصطلاح | ترجمه |
|---|---|
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) |
مثال: عملگر دسترسی شاخص
|
1 2 3 4 5 6 7 |
fun main(args: Array<String>) { val a = intArrayOf(1, 2, 3, 4, - 1) println(a[1]) a[1]= 12 println(a[1]) } |
هنگامی که برنامه را اجرا می کنید، چیزی که خروجی نشان می دهد:
|
1 2 |
2 12 |
8- عملگر فراخوانی (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 – معکوس بیتی
برای اطلاعات بیشتر از دیگر آموزش های برنامه نویسی ما به وب سایت و اینستاگرام ما مراجعه کنید
لیست جلسات قبل آموزش برنامه نویسی کاتلین
دیدگاه شما