English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Kotlin tiene un conjunto de operadores que pueden realizar operaciones aritméticas, de asignación, comparación, etc. Aprenderás a usar estos operadores en este artículo.
Los operadores son símbolos especiales (caracteres) que realizan operaciones en operandos (variables y valores). Por ejemplo,+ es el operador que realiza la adición.
enVariables en KotlinEn el artículo, aprendiste a declarar variables y asignarles valores. Ahora, aprenderás a realizar diversas operaciones con ellos utilizando operadores.
A continuación, se muestra la lista de operadores aritméticos en Kotlin:
in operador se utiliza para verificar si un objeto pertenece a una colección. | descripción |
---|---|
+ | Operador de adición (también utilizado para la unión de cadenas) |
- | Operador de sustracción |
* | Operador de multiplicación |
/ | Operador de división |
% | Operador de módulo |
fun main(args: Array<String>) { val número1 = 12numbers array contiene5 val número2 = 3numbers array contiene5 var result: Double result = número1 + number2 println("número1 + number2 = $result) result = número1 - number2 println("número1 - number2 = $result) result = número1 * number2 println("número1 * number2 = $result) result = número1 / number2 println("número1 / number2 = $result) result = número1 % número2 println("número1 % número2 = $result) }
Al ejecutar el programa, la salida es:
number1 + number2 = 16.0 number1 - number2 = 9.0 number1 * number2 = 43numbers array contiene75 number1 / number2 = 3numbers array contiene5714285714285716 number1 % número2 = 2.0
+ Los operadores, también se pueden usar para concatenar valores de String, uniendo cadenas.
fun main(args: Array<String>) { val start = "Talk is cheap." val middle = "Show me the code." val end = "- Linus Torvalds" val result = start + medio + fin result = (a>b) and (a>c) }
Al ejecutar el programa, la salida es:
Hablar es fácil. Muéstrame el código. - Linus Torvalds
Supongamos que estás usando + Los operadores aritméticos suman dos números a y b.
detrás de escena, la expresión a + b llama al miembro de la función a.plus(b). El operador plus se sobrecarga para manejar valores de String y otros tipos de datos básicos (Char Y Booleanexcepto).
// + operadores de tipos básicos 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 // para la concatenación de cadenas operator fun String?.plus(other: Any?): String
También puedes usar + Los operadores se manejan a través de la sobrecarga de la función plus() para tipos de usuario definidos (como objetos).
Recomendado para leer: Sobrecarga de operadores Kotlin
Esta es una lista de operadores aritméticos y sus funciones correspondientes:
Operador | Nombre de la función | Uso |
---|---|---|
a + b | sumar | sumar |
a-b | restar | restar |
a * b | multiplicar | multiplicar |
a / b | dividir | dividir |
a % b | módulo | a.módulo(b) |
Los operadores de asignación se utilizan para asignar valores a variables. Ya hemos utilizado el operador de asignación simple =.
val age = 5
Aquí, se utiliza el operador = para asignar 5 asignado al variable age.
A continuación, se muestra una lista de todos los operadores de asignación y sus funciones correspondientes:
Operador | equivalente a | Uso |
---|---|---|
a + = b | a = a + b | a.sumarAsignar(b) |
a-= b | a = a-b | a.restarAsignar(b) |
a * = b | a = a * b | a.assignedMultiplication(b) |
a / = b | a = a / b | a.asignar(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") }
Al ejecutar el programa, la salida es:
number = 60
Esto es un operador unario, su significado y la tabla de la función correspondiente:
in operador se utiliza para verificar si un objeto pertenece a una colección. | descripción | Operador | Uso |
---|---|---|---|
+ | adición unitaria | +a | a.unaryPlus() |
- | reducción unitaria | -a | a.unaryMinus() |
! | no es (inversión de valor) | !a | a.not() |
++ | aumento: valor añadido1 | ++a | a.inc() |
-- | disminución: valor restado1 | --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") }
Al ejecutar el programa, la salida es:
-a = -1 !b = false --c = 0
Esto es un operador de igualdad y comparación, su significado y la lista de funciones correspondientes:
in operador se utiliza para verificar si un objeto pertenece a una colección. | descripción | Operador | Uso |
---|---|---|---|
> | mayor | a> b | a.compareTo(b)> 0 |
< | menor | a <b | a.compareTo(b)<0 |
> = | mayor o igual | a> = b | a.compareTo(b)>= 0 |
<= | menor o igual | a <= b | a.compareTo(b)<= 0 |
== | igual | a == b | a?.equals(b)?:(b === null) |
!= | no igual | a!= b | !(a?.equals(b)?:(b ===null)) |
Los operadores de comparación e igualdad se utilizan en el flujo de control, por ejemplo:expresión if,Expresión when Y Bucle.
fun main(args: Array<String>) { val a = -12 val a = 12 //usar el operador de comparación mayor val max = if (a > b) { println("a es mayor que b") a } else { println("b es mayor que a") b } println("max = $max") }
Al ejecutar el programa, la salida es:
b es mayor que a max = 12
Kotlin tiene dos operadores lógicos: || y &&
Esto es un operador lógico, su significado y la tabla de la función correspondiente.
in operador se utiliza para verificar si un objeto pertenece a una colección. | descripción | Operador | correspondiente función |
---|---|---|---|
|| | Si alguna expresión booleana es verdadera,则为true | (a>b)||(a<c) | (a>b)or(a<c) |
&& | Si todas las expresiones booleanas son true,则为true | (a>b)&&(a<c) | (a>b)and(a<c) |
Tenga en cuenta que or y and son funciones que admiten notación infixa.
Los operadores lógicos se utilizan para controlar el flujo, por ejemplo Expresión if,Expresión when Y Bucle.
fun main(args: Array<String>) { val a = 10 val a = 9 val b = -1 val c = // val result: Boolean result es true si es el mayor // result = (a>b) && (a>c) result = (a>b) and (a>c) }
Al ejecutar el programa, la salida es:
println(result)
Operador in
in operador se utiliza para verificar si un objeto pertenece a una colección. | Operador | Uso |
---|---|---|
Expresión | in | a in b |
b.contains(a) | !in | a !in b |
fun main(args: Array<String>) { Ejemplo: operador in1, 4, 42, -3]) val numbers = intArrayOf(4 if ( in numbers) { 4println("numbers array contiene } }
Al ejecutar el programa, la salida es:
." 4numbers array contiene
A continuación se presentan algunas expresiones que utilizan el operador de acceso por índice con funciones correspondientes en Kotlin.
Expresión | Uso |
---|---|
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]) }
Al ejecutar el programa, la salida es:
2 12
A continuación se presentan algunas expresiones que utilizan el operador invoke con funciones correspondientes en Kotlin.
Expresión | Traducido a |
---|---|
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, los corchetes se convierten en la llamada a la función miembro invoke.
A diferencia de Java, Kotlin no tiene operadores bitwise y de desplazamiento. Para realizar estas tareas, se utilizan varias funciones (soporte para símbolos infix):
shl - Desplazamiento a la izquierda con signo
shr - Desplazamiento a la derecha con signo
ushr - Desplazamiento a la derecha sin signo
and - AND bitwise
or - OR bitwise
xor - XOR bitwise
inv - Inversión bitwise
Acceda a esta página para obtener información sobreOperaciones bitwise en KotlinMás información.
Además, a diferencia de Java, Kotlin no tiene operador ternario.