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) }
프로그램을 실행할 때, 출력은 다음과 같습니다:
Talk is cheap. Show me the code. - Linus Torvalds
假设您正在使用 + 算术运算符将两个数字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) |
赋值运算符用于为变量赋值。我们之前已经使用过简单的 = 赋值运算符。
val age = 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>) { var number = 12 number *= 5 // number = number*5 println("number = $number") }
프로그램을 실행할 때, 출력은 다음과 같습니다:
number = 60
이것은 일원 연산자로, 그 의미와 해당 기능 목록입니다:
연산자 | 설명 | 표현식 | 사용법 |
---|---|---|---|
+ | 일원 증가 | +a | a.unaryPlus() |
- | 일원 감소 | -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에는 두 개의 논리 연산자가 있습니다: || 과 &&
이것은 논리 연산자로, 그 의미와 해당 함수의 표입니다.
연산자 | 설명 | 표현식 | 대응 함수 |
---|---|---|---|
|| | 또는 어떤 브루얼 표현식이 true라면 true | (a>b)||(a<c) | (a>b)or(a<c) |
&& | 모든 부울 표현식이 true라면 true입니다 | (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가 true는 가장 큰 것입니다 result = (a>b) && (a>c) // result = (a>b) and (a>c) println(result) }
프로그램을 실행할 때, 출력은 다음과 같습니다:
true
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
다음은 Kotlin에서 해당 함수를 가진 invoke 연산자를 사용하는 몇 가지 표현입니다.
표현 | 번역됨 |
---|---|
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에서는 괄호가 invoke 멤버 함수 호출로 변환됩니다.
Java와 달리, Kotlin에는 비트와 이동 연산자가 없습니다. 이 작업을 수행하기 위해 다양한 기능(중간 기호 지원)이 사용됩니다:
shl - 시그니처 왼쪽 이동
shr - 시그니처 오른쪽 이동
ushr - 아니오 표시 비트 오른쪽 이동
and - 비트 앤드
or - 비트 또는
xor - 비트 이퀄
inv - 비트 반전
이 페이지에 접근하여 관련 정보를 확인하세요Kotlin에서 비트 연산더 많은 정보.
그리고 Java와 달리, Kotlin에는 삼항 연산자가 없습니다.