عملگر 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])
}
با اجرای کد فوق نتیجه زیر حاصل میشود:
2 12
عملگر invoke
در این بخش برخی عبارتها با استفاده از عملگر 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) |
a[i, n] = b | a.set(i, b) |
در کاتلین پرانتزها به فراخوانی تابع عضو invoke ترجمه میشوند.
عملگرهای بیتی
برخلاف جاوا، در کاتلین هیچ عملگر بیتی و شیفت بیتی وجود ندارد. با این حال، برای اجرای این وظایف، تابعهای مختلفی (با پشتیبانی از نمادگذاری میانوندی) مورد استفاده قرار میگیرند.
- shl – شیفت چپ علامتدار
- shr – شیفت راست علامتدار
- ushr – شیفت راست بیعلامت
- and – و بیتی
- or – یای بیتی
- xor – xor بیتی
- Inv – معکوس بیتی
همچنین در کاتلین هیچ عملگر سهتایی برخلاف جاوا وجود ندارد.