English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يوجد مجموعة من العمليات في Kotlin يمكنها تنفيذ العمليات الحسابية، التخصيص، العمليات المقارنة، إلخ. ستعلم كيفية استخدام هذه العمليات في هذا المقال.
العمليات هي علامات خاصة (حروف) تستخدم لتنفيذ العمليات على العناصر (المتغيرات والقيم). على سبيل المثال، + هو عمليات إضافة.
فيالمتغيرات في Kotlinفي المقالة، تعلمت كيفية إعلان المتغيرات وتخصيص القيم لها. الآن، ستعلم كيفية استخدام الأجهزة لتنفيذ مجموعة متنوعة من العمليات.
هذه هي قائمة أعضاء الحساب في Kotlin:
المعادلة | وصف |
---|---|
+ | عميل الحساب للإضافة (يستخدم أيضًا للربط بين الكلمات) |
- | عميل الحساب للطرح |
* | عميل الحساب للضرب |
/ | عميل الحساب للفرز |
% | عميل الحساب المتبقي |
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) }
عند تشغيل هذا البرنامج، الناتج سيكون:
الكلام رخيص. أظهر لي الشفرة. - لينوس تورفالدز
افترض أنك تستخدم عميل الحساب + لجمع إثنين من الأرقام a و b.
في الخلفية، يتم استدعاء تعبير a + b باستخدام دالة الفئة a.plus(b). يتم تحميل عميل plus لمعالجة قيم String وأنواع البيانات الأساسية الأخرى (Char و Booleanاستثنائيًا).
// عموديات الأنواع الأساسية 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 // لتحديد السلسلة operator fun String?.plus(other: Any?): String
يمكنك أيضًا استخدام عمودية + لتعامل الأنواع المحددة من قبل المستخدم من خلال دالة plus() المزودة (مثل الأجسام).
اقرأ المزيد: مزج Kotlin العملاء
هذه هي قائمة عموديات الحسابات وما تترتب عليها من وظائف:
التعبير | اسم الدالة | الاستخدام |
---|---|---|
a + b | الإضافة | a.plus(b) |
a - b | الطرح | a.minus(b) |
a * b | الضرب | a.times(b) |
a / b | القسمة | a.div(b) |
a % b | البحث عن البقية | a.mod(b) |
تستخدم عمليات الربط لربط المتغيرات. لقد استخدمنا بالفعل عمودية = البسيطة.
معدد_السن = 5
في هذا السياق، يتم توزيع 5 على المتغير age باستخدام عمودية =.
هذه هي قائمة جميع عمليات الربط وما تترتب عليها من وظائف:
التعبير | المعادلة | الاستخدام |
---|---|---|
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>) { م変عدد = 12 رقم *= 5 // رقم = رقم * 5 println("رقم = $number") }
عند تشغيل هذا البرنامج، الناتج سيكون:
رقم = 60
هذا هو عمودية العملية، وتفاصيل المعاني والوظائف المترتبة عليها هي:
المعادلة | وصف | التعبير | الاستخدام |
---|---|---|---|
+ | الزيادة_النسبية | +a | a.الزيادة_النسبية() |
- | التناقص الواحد | -a | a.unaryMinus() |
! | ليس (استبدال القيمة) | !a | a.not() |
++ | الزيادة: قيمة تزيد 1 | ++a | a.inc() |
-- | التقليل: قيمة تنقص 1 | --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)) |
تستخدم عمليات الحساب الخاص بالتساوي والتفاضل في تدفق التحكم، مثل:if تعبير،تعبير when و الدورات.
fun main(args: Array<String>) { val a = -12 val b = 12 //استخدام عمليات الحساب الأكبر val max = if (a > b) { println("a أكبر من b") a } else { println("b أكبر من a") b } println("max = $max") }
عند تشغيل هذا البرنامج، الناتج سيكون:
b أكبر من a max = 12
يوجد في Kotlin عمليتان منطقيتان: || و &&
هذه هي عمليات الحساب المنطقية، تعريفها وظائفها المترادفة
المعادلة | وصف | التعبير | وظيفة تناسب |
---|---|---|---|
|| | إذا كانت أي تعبير بولي صحيحًا، فإن النتيجة صحيحة | (a>b)||(a<c) | (a>b)or(a<c) |
&& | إذا كانت جميع التعبيرات البولية صحيحة، فإن النتيجة صحيحة | (a>b)&&(a<c) | (a>b)and(a<c) |
يرجى ملاحظة أن or و and هما دوال تدعم التعبيرات المدمجة.}
يستخدم عميلات العمليات المنطقية لتحكم في التدفق، مثل تعبير if،تعبير when و الدورات.
fun main(args: Array<String>) { val a = 10 val b = 9 val c = -1 val result: Boolean // result يكون صحيح إذا كان أكبر result = (a > b) && (a > c) // result = (a > b) and (a > c) println(result) }
عند تشغيل هذا البرنامج، الناتج سيكون:
صحيح
يستخدم عميل in لتحقق مما إذا كان العنصر ينتمي إلى مجموعة.
المعادلة | التعبير | الاستخدام |
---|---|---|
in | a in b | b.contains(a) |
!in | a !in b | !b.contains(a) |
fun main(args: Array<String>) { val numbers = intArrayOf(1, 4, 42, -3) if (4 in numbers) { println("numbers تحتوي على 4.") } }
عند تشغيل هذا البرنامج، الناتج سيكون:
مجموعة numbers تحتوي على 4.
هذه بعض التعبيرات التي يستخدم فيها عميل الوصول إلى الفهرس مع الدوال المماثلة في Kotlin.
التعبير | الاستخدام |
---|---|
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 مع الدوال المماثلة في Kotlin.
التعبير | الترجمة إلى |
---|---|
a() | a.invoke() |
a(i) | a.invoke(i) |
a(i1, i2, ..., in) | a.invoke(i1, i2, ..., in) |
a[i] = b | a.set(i, b) |
في Kotlin، يتم تحويل الأقواس إلى دعوة لمساعدة invoke
على عكس Java، ليس هناك عمليات مائلة وانتقالية في Kotlin. لتنفيذ هذه المهام، يتم استخدام وظائف مختلفة (دعم العلامات المدمجة):
shl - سحب إلى اليسار مع إشارة
shr - سحب إلى اليمين مع إشارة
ushr - سحب إلى اليمين بدون إشارة
and - مائلة
or - مائلة
xor - مائلة مختلفة
inv - عكس المائلة
زيارة هذه الصفحة للحصول على معلومات عنالحسابات المائلة في Kotlinلمعرفة المزيد.
بالإضافة إلى ذلك، ليس هناك تعبير ثري في Kotlin مثل Java.