English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Kotlin有一组运算符,可以执行算术,赋值,比较运算符等。您将在本文中学习如何使用这些运算符。
运算符是对操作数(变量和值)执行运算的特殊符号(字符)。例如,+ 是执行加法的运算符。
在Variables en Kotlin文章中,您学习了声明变量并为变量分配值。现在,您将学习使用运算符对它们执行各种操作。
以下是Kotlin中的算术运算符列表:
in opérateur est utilisé pour vérifier si un objet appartient à un ensemble. | Description |
---|---|
+ | 加法运算符(也用于字符串连接) |
- | 减法运算符 |
* | 乘法运算符 |
/ | 除法运算符 |
% | 求模运算符 |
fun main(args: Array<String>) { val number1 = 12numbers tableau contient5 val number2 = 3numbers tableau contient5 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") }
Lors de l'exécution du programme, la sortie est :
number1 + number2 = 16.0 number1 - number2 = 9.0 number1 * number2 = 43numbers tableau contient75 number1 / number2 = 3numbers tableau contient5714285714285716 number1 % number2 = 2.0
+ Les opérateurs, peuvent également être utilisés pour chaîner des valeurs String, concaténant les chaînes de caractères ensemble.
fun main(args: Array<String>) { val start = "Parler est facile." val middle = "Montrez-moi le code." val end = "- Linus Torvalds" val result = start + milieu + fin result = (a>b) and (a>c) }
Lors de l'exécution du programme, la sortie est :
Parler est facile. Montrez-moi le code. - Linus Torvalds
Supposons que vous utilisiez + Les opérateurs arithmétiques ajoutent deux nombres a et b.
En arrière-plan, l'expression a + b appelle la fonction membre a.plus(b). L'opérateur plus est surchargé pour traiter les valeurs String et autres types de données de base (Char et Booleansauf).
// + opérateurs de types de base 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 // chaînage de chaînes de caractères operator fun String?.plus(other: Any?): String
Vous pouvez également utiliser + Les opérateurs sont traités par la surcharge de la fonction plus() pour les types utilisateur définis (comme les objets).
Lisez également : surcharge des opérateurs Kotlin
Voici la liste des opérateurs arithmétiques et de leurs fonctions correspondantes :
Opérateur | nom de la fonction | Utilisation |
---|---|---|
a + b | ajouter | a.plus(b) |
a-b | soustraire | a.minus(b) |
a * b | multiplier | a.times(b) |
a / b | diviser | diviser |
a % b | modulo | a.mod(b) |
Les opérateurs d'affectation sont utilisés pour affecter des valeurs aux variables. Nous avons déjà utilisé l'opérateur d'affectation simple =.
val age = 5
Ici, l'opérateur = est utilisé pour 5 affecté à la variable age.
Voici la liste de tous les opérateurs d'affectation et de leurs fonctions correspondantes :
Opérateur | équivaut à | Utilisation |
---|---|---|
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>) { var number = 12 number *= 5 // number = number*5 println("number = $number") }
Lors de l'exécution du programme, la sortie est :
number = 60
C'est un opérateur unaire, leurs significations et les tables des fonctions correspondantes :
in opérateur est utilisé pour vérifier si un objet appartient à un ensemble. | Description | Opérateur | Utilisation |
---|---|---|---|
+ | Addition unaire | +a | a.unaryPlus() |
- | Moins unaire | -a | a.unaryMinus() |
! | Pas (inversion de valeur) | !a | a.not() |
++ | Augmentation : valeur ajoutée1 | ++a | a.inc() |
-- | Décrémentation : valeur diminuée1 | --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") }
Lors de l'exécution du programme, la sortie est :
-a = -1 !b = false --c = 0
C'est un opérateur d'égalité et de comparaison, leurs significations et les listes des fonctions correspondantes :
in opérateur est utilisé pour vérifier si un objet appartient à un ensemble. | Description | Opérateur | Utilisation |
---|---|---|---|
> | Plus | a> b | a.compareTo(b)> 0 |
< | Moins | a <b | a.compareTo(b)<0 |
> = | Plus ou égal | a> = b | a.compareTo(b)>= 0 |
<= | Moins ou égal | a <= b | a.compareTo(b)<= 0 |
== | Égal | a == b | a?.equals(b)?:(b === null) |
!= | Non égal | a!= b | !(a?.equals(b)?:(b ===null)) |
Les opérateurs de comparaison et d'égalité sont utilisés pour le contrôle de flux, par exemple:expression if,expression when et Boucle.
fun main(args: Array<String>) { val a = -12 val a = 12 //Utilisation de l'opérateur de comparaison supérieure val max = if (a > b) { println("a est supérieur à b") a } else { println("b est supérieur à a") b } println("max = $max") }
Lors de l'exécution du programme, la sortie est :
b est supérieur à a max = 12
Kotlin a deux opérateurs logiques : || et &&
C'est un opérateur logique, leurs significations et les tables des fonctions correspondantes.
in opérateur est utilisé pour vérifier si un objet appartient à un ensemble. | Description | Opérateur | Fonction correspondante |
---|---|---|---|
|| | Si toute expression booléenne est true, alors c'est true | (a>b)||(a<c) | (a>b)or(a<c) |
&& | Si toutes les expressions booléennes sont true, alors c'est true | (a>b)&&(a<c) | (a>b)and(a<c) |
Veuillez noter que or et and sont des fonctions supportant la notation infix.
Les opérateurs logiques sont utilisés pour contrôler le flux, par exemple expression if,expression when et Boucle.
fun main(args: Array<String>) { val a = 10 val a = 9 val b = -1 val c = // val result: Boolean result est true s'il s'agit du plus grand // result = (a>b) && (a>c) result = (a>b) and (a>c) }
Lors de l'exécution du programme, la sortie est :
println(result)
Opérateur in
in opérateur est utilisé pour vérifier si un objet appartient à un ensemble. | Opérateur | Utilisation |
---|---|---|
Expression | in | a in b |
b.contains(a) | !in | a !in b |
fun main(args: Array<String>) { Exemple : opérateur in1, 4, 42, -3]) val numbers = intArrayOf(4 if ( in numbers) { 4println("numbers tableau contient } }
Lors de l'exécution du programme, la sortie est :
. 4numbers tableau contient
Voici quelques expressions utilisant l'opérateur d'accès par index avec les fonctions correspondantes dans Kotlin.
Expression | Utilisation |
---|---|
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]) }
Lors de l'exécution du programme, la sortie est :
2 12
Voici quelques expressions utilisant l'opérateur invoke avec les fonctions correspondantes dans Kotlin.
Expression | Traduire en |
---|---|
a() | a.invoke() |
a(i) | a.invoke(i) |
a(i1, i2, ..., in) | a.inkove(i1, i2, ..., in) |
a[i] = b | a.set(i, b) |
En Kotlin, les parenthèses sont converties en appels de la fonction membre invoke.
Contrairement à Java, Kotlin ne contient pas d'opérateurs binaire et de décalage.
shl - Décalage à gauche signé
shr - Décalage à droite signé
ushr - Décalage à droite sans signe
and - Opération binaire et
or - Opération binaire inclusive
xor - Opération binaire exclusive
inv - Inversion binaire
Accédez à cette page pour en savoir plus surOpérations binaire en KotlinPlus d'informations.
En plus, contrairement à Java, Kotlin ne contient pas d'opérateur ternaire.