Kotlin Operatörleri: Aritmetik, Atama Operatörü ve Daha Fazlası

Kotlin, aritmetik, atama, karşılaştırma operatörleri ve daha fazlasını gerçekleştirmek için bir dizi operatöre sahiptir. Bu operatörleri bu makalede kullanmayı öğreneceksiniz.

Operatörler, işlenenler (değişkenler ve değerler) üzerinde işlemler gerçekleştiren özel sembollerdir (karakterler). Örneğin, +toplama yapan bir operatördür.

Java değişkenleri makalesinde, değişkenleri bildirmeyi ve değişkenlere değer atamayı öğrendiniz. Şimdi, operatörlerin üzerlerinde çeşitli işlemler gerçekleştirmesini öğreneceksiniz.

1. Aritmetik Operatörler

İşte Kotlin'deki aritmetik operatörlerin listesi:

Kotlin Aritmetik Operatörleri
Şebeke Anlam
+ Ekleme (ayrıca dize birleştirme için de kullanılır)
- Çıkarma Operatörü
* Çarpma Operatörü
/ Bölüm Operatörü
% Modül Operatörü

Örnek: Aritmetik Operatörler

 fun main(args: Array) ( 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") ) 

Programı çalıştırdığınızda, çıktı:

 sayı1 + sayı2 = 16,0 sayı1 - sayı2 = 9,0 sayı1 * sayı2 = 43,75 sayı1 / sayı2 = 3,5714285714285716 sayı1% sayı2 = 2,0

+Operatör ayrıca Birleştirme için kullanılan Stringdeğerleri.

Örnek: Dizelerin Birleştirilmesi

 fun main(args: Array) ( val start = "Talk is cheap. " val middle = "Show me the code. " val end = "- Linus Torvalds" val result = start + middle + end println(result) )

Programı çalıştırdığınızda, çıktı:

Konuşma ucuz. Bana kodu göster. - Linus Torvalds

Aritmetik operatörler gerçekte nasıl çalışır?

Diyelim ki, +a ve b olmak üzere iki sayı eklemek için aritmetik operatör kullanıyorsunuz .

Kaputun altında ifade üye işlevini a + bçağırır a.plus(b). plusOperatör ile çalışmak için aşırı Stringdeğerleri ve (Char ve Boolean hariç) diğer temel veri türleri.

 // + temel tipler için operatör fun plus (diğer: Byte): Int operatör fun plus (diğer: Short): Int operatör fun plus (diğer: Int): Int operatör eğlencesi artı (diğer: Uzun): Uzun operatör eğlencesi artı (diğer: Float): Float operatörü fun plus (other: Double): Double // string birleştirme operatörü için fun String? .plus (diğer: Herhangi biri?): String 

+İşleci, plus()işlevi aşırı yükleyerek kullanıcı tanımlı türlerle (nesneler gibi) çalışmak için de kullanabilirsiniz .

Önerilen Okuma: Kotlin Operator Overloading

İşte aritmetik işleçler ve bunlara karşılık gelen işlevlerin tablosu:

İfade Fonksiyon adı Çevirir
a + b artı a. artı (b)
a - b eksi a.minus (b)
a * b zamanlar a. zamanlar (b)
a / b div a.div (b)
a% b mod a.mod (b)

2. Atama Operatörleri

Atama operatörleri, bir değişkene değer atamak için kullanılır. Daha önce zaten basit atama operatörünü kullandık =.

 val yaş = 5

Burada, =operatör kullanılarak değişken yaşa 5 atanır .

İşte tüm atama operatörlerinin ve bunlara karşılık gelen işlevlerinin bir listesi:

İfade Eşittir Çevirir
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)

Örnek: Atama Operatörleri

 fun main(args: Array) ( var number = 12 number *= 5 // number = number*5 println("number = $number") )

Programı çalıştırdığınızda, çıktı:

 sayı = 60

Önerilen Kaynaklar: Kotlin'de aşırı yükleme atama operatörleri.

3. Tekli önek ve Arttırma / Azaltma Operatörleri

Here's a table of unary operators, their meaning, and corresponding functions:

Operator Meaning Expression Translates to
+ Unary plus +a a.unaryPlus()
- Unary minus (inverts sign) -a a.unaryMinus()
! not (inverts value) !a a.not()
++ Increment: increases value by1 ++a a.inc()
-- Decrement: decreases value by 1 --a a.dec()

Example: Unary Operators

 fun main(args: Array) ( 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") )

When you run the program, the output will be:

 -a = -1 !b = false --c = 0

Recommended Reading: Overloading Unary Operators

4. Comparison and Equality Operators

Here's a table of equality and comparison operators, their meaning, and corresponding functions:

Operator Meaning Expression Translates to
> greater than a> b a.compareTo(b)> 0
< less than a < b a.compareTo(b) < 0
>= greater than or equals to a>= b a.compareTo(b)>= 0
<= less than or equals to a < = b a.compareTo(b) <= 0
== is equal to a == b a?.equals(b) ?: (b === null)
!= not equal to a != b !(a?.equals(b) ?: (b === null))

Comparison and equality operators are used in control flow such as if expression , when expression , and loops .

Example: Comparison and Equality Operators

 fun main(args: Array) ( 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") ) 

When you run the program, the output will be:

 b is larger than a. max = 12 

Recommended Reading: Overloading of Comparison and Equality Operators in Kotlin

5. Logical Operators

There are two logical operators in Kotlin: || and &&

Here's a table of logical operators, their meaning, and corresponding functions.

Operator Description Expression Corresponding Function
|| true if either of the Boolean expression is true (a>b)||(a (a>b)or(a
&& true if all Boolean expressions are true (a>b)&&(a (a>b)and(a

Note that, or and and are functions that support infix notation.

Logical operators are used in control flow such as if expression , when expression , and loops .

Example: Logical Operators

 fun main(args: Array) ( 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) )

When you run the program, the output will be:

 true

Recommended Reading: Overloading of Logical Operators in Kotlin

6. in Operator

The in operator is used to check whether an object belongs to a collection.

Operator Expression Translates to
in a in b b.contains(a)
!in a !in b !b.contains(a)

Example: in Operator

 fun main(args: Array) ( val numbers = intArrayOf(1, 4, 42, -3) if (4 in numbers) ( println("numbers array contains 4.") ) )

When you run the program, the output will be:

 numbers array contains 4.

Recommended Reading: Kotlin in Operator Overloading

7. Index access Operator

Here are some expressions using index access operator with corresponding functions in Kotlin.

Expression Translated to
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)

Example: Index access Operator

 fun main(args: Array) ( val a = intArrayOf(1, 2, 3, 4, - 1) println(a(1)) a(1)= 12 println(a(1)) ) 

When you run the program, the output will be:

 2 12

Recommended Reading: Kotlin Index access operator Overloading

8. Invoke Operator

İşte kotlin'deki karşılık gelen işlevlerle invoke operatörünü kullanan bazı ifadeler.

İfade Çevirildi
a() a.invoke()
a(i) a.invoke(i)
a(i1, i2,… , in) a.inkove(i1, i2,… , in)
a(i) = b a.set(i, b)

Kotlin'de parantezler invokeüye işlevini çağırmak için çevrilir .

Önerilen Okuma: Kotlin'de Operatör Aşırı Yüklemesini Çağır

Bitsel İşlem

Java'dan farklı olarak Kotlin'de bitsel ve bitshift operatörleri yoktur. Bu görevi gerçekleştirmek için çeşitli işlevler (infix gösterimini destekleyen) kullanılır:

  • shl - İmzalı sola kaydırma
  • shr - İmzalı sağa kayma
  • ushr - İmzasız sağa kaydırma
  • and - Bitsel ve
  • or - Bitsel veya
  • xor - Bitsel xor
  • inv - Bitsel ters çevirme

Kotlin'de Bitwise İşlemleri hakkında daha fazla bilgi edinmek için bu sayfayı ziyaret edin.

Ayrıca, Kotlin'de Java'nın aksine üçlü operatör yoktur.

Ilginç makaleler...