科特林操作员
运算符是对操作数执行不同操作的特殊符号。例如+和–是分别执行加法和减法的运算符。像 Java 一样,Kotlin 包含不同种类的运算符。
- 算术运算符
- 关系运算符
- 赋值运算符
- 一元运算符
- 逻辑算子
- 逐位运算符
算术运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args: Array<String>)
{
    var a = 20 var b = 4 println("a + b = " + (a + b))
        println("a - b = " + (a - b))
        println("a * b = " + (a.times(b)))
        println("a / b = " + (a / b))
        println("a % b = " + (a.rem(b)))
}
输出:
a + b = 24
a - b = 16
a * b = 80
a / b = 5
a % b = 0
关系运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args: Array<String>)
{
    var c = 30
    var d = 40
    println("c > d = "+(c>d))
    println("c < d = "+(c.compareTo(d) < 0))
    println("c >= d = "+(c>=d))
    println("c <= d = "+(c.compareTo(d) <= 0))
    println("c == d = "+(c==d))
    println("c != d = "+(!(c?.equals(d) ?: (d === null))))
}
输出:
c > d = false
c < d = true
c >= d = false
c <= d = true
c == d = false
c != d = true
赋值运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args : Array<String>){
 var a = 10
    var b = 5
    a+=b
    println(a)
    a-=b
    println(a)
    a*=b
    println(a)
    a/=b
    println(a)
    a%=b
    println(a)
}
输出:
15
10
50
10
0
一元运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args : Array<String>){
    var e=10
    var flag = true
    println("First print then increment: "+ e++)
    println("First increment then print: "+ ++e)
    println("First print then decrement: "+ e--)
    println("First decrement then print: "+ --e)
}
输出:
First print then increment: 10
First increment then print: 12
First print then decrement: 12
First decrement then print: 10
逻辑运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args : Array<String>){
    var x = 100
    var y = 25
    var z = 10
    var result = false
    if(x > y && x > z)
     println(x)
    if(x < y || x > z)
     println(y)
    if( result.not())
     println("Logical operators")
}
输出:
100
25
Logical operators
按位运算符–
Java 语言(一种计算机语言,尤用于创建网站)
fun main(args: Array<String>)
{
    println("5 signed shift left by 1 bit: " + 5.shl(1))
    println("10 signed shift right by 2 bits: : " + 10.shr(2))
    println("12 unsigned shift right by 2 bits:  " + 12.ushr(2))
    println("36 bitwise and 22: " + 36.and(22))
    println("36 bitwise or 22: " + 36.or(22))
    println("36 bitwise xor 22: " + 36.xor(22))
    println("14 bitwise inverse is: " + 14.inv())
}
输出:
5 signed shift left by 1 bit: 10
10 signed shift right by 2 bits: : 2
12 unsigned shift right by 2 bits:  3
36 bitwise and 22: 4
36 bitwise or 22: 54
36 bitwise xor 22: 50
14 bitwise inverse is: -15

