English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل Kotlin الأساسي

تحكم Kotlin

الوظائف في Kotlin

الخطوط في Kotlin

Kotlin موجهة نحو الأجسام (OOP)

المعادلات في Kotlin

يوجد مجموعة من العمليات في Kotlin يمكنها تنفيذ العمليات الحسابية، التخصيص، العمليات المقارنة، إلخ. ستعلم كيفية استخدام هذه العمليات في هذا المقال.

العمليات هي علامات خاصة (حروف) تستخدم لتنفيذ العمليات على العناصر (المتغيرات والقيم). على سبيل المثال، + هو عمليات إضافة.

فيالمتغيرات في 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 += ba = a + ba.plusAssign(b)
a -= ba = a - ba.minusAssign(b)
a *= ba = a * ba.timesAssign(b)
a /= ba = a / ba.divAssign(b)
a %= ba = a % ba.modAssign(b)

مثال: عمليات الربط

fun main(args: Array<String>) {
    م変عدد = 12
    رقم *= 5 // رقم = رقم * 5
    println("رقم = $number")
}

عند تشغيل هذا البرنامج، الناتج سيكون:

رقم = 60

العمليات المقدمة والتناقصية

هذا هو عمودية العملية، وتفاصيل المعاني والوظائف المترتبة عليها هي:

المعادلةوصفالتعبيرالاستخدام
+الزيادة_النسبية+aa.الزيادة_النسبية()
-التناقص الواحد-aa.unaryMinus()
!ليس (استبدال القيمة)!aa.not()
++الزيادة: قيمة تزيد 1++aa.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> ba.compareTo(b)> 0
<أصغرa <ba.compareTo(b)<0
> =أكبر أو تساويa> = ba.compareTo(b)>= 0
<=أصغر أو تساويa <= ba.compareTo(b)<= 0
==متساويa == ba?.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 لتحقق مما إذا كان العنصر ينتمي إلى مجموعة.

المعادلةالتعبيرالاستخدام
in
a in bb.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 تحتوي على 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] = ba.set(i, b)
a[i, n] = ba.set(i, n, b)
a[i1, i2, ..., in] = ba.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 مع الدوال المماثلة في Kotlin.

التعبيرالترجمة إلى
a()a.invoke()
a(i)a.invoke(i)
a(i1, i2, ..., in)a.invoke(i1, i2, ..., in)
a[i] = ba.set(i, b)

في Kotlin، يتم تحويل الأقواس إلى دعوة لمساعدة invoke

الحسابات المائلة

على عكس Java، ليس هناك عمليات مائلة وانتقالية في Kotlin. لتنفيذ هذه المهام، يتم استخدام وظائف مختلفة (دعم العلامات المدمجة):

  • shl - سحب إلى اليسار مع إشارة

  • shr - سحب إلى اليمين مع إشارة

  • ushr - سحب إلى اليمين بدون إشارة

  • and - مائلة

  • or - مائلة

  • xor - مائلة مختلفة

  • inv - عكس المائلة

زيارة هذه الصفحة للحصول على معلومات عنالحسابات المائلة في Kotlinلمعرفة المزيد.

بالإضافة إلى ذلك، ليس هناك تعبير ثري في Kotlin مثل Java.