عملگرهای برنامه نویسی کاتلین
عملگرهای برنامه نویسی کاتلین
در برنامه نویسی کاتلین مجموعه ای از عملگرها یا اپراتورها را دارد که عملگرهای حساب، انتساب مقایسه و سایر موارد را انجام می دهد. در این مقاله استفاده از این عملگرها را یاد خواهید گرفت.
عملگرها نمادها (نویسه ها) خاصی هستند که عملیات را روی عملوندها (متغیرها و مقادیر) انجام می دهند. به عنوان مثال ، + عملیاتی است که جمع را انجام می دهد.
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 – معکوس بیتی
برای اطلاعات بیشتر از دیگر آموزش های برنامه نویسی ما به وب سایت و اینستاگرام ما مراجعه کنید
لیست جلسات قبل آموزش برنامه نویسی کاتلین
دیدگاه شما