Kotlin - 运算符

Kotlin - 运算符 首页 / Kotlin入门教程 / Kotlin - 运算符

运算符是对操作数(值或变量)执行运算的特殊字符。Kotlin中提供了多种运算符。

  • 算术运算符
  • 关系运算符
  • 赋值运算行
  • 一元运算符
  • 按位运算符
  • 逻辑运算符

算术运算符

算术运算符用于执行基本的数学运算,例如相加(+),相减( - ),相乘(*),相除(/)等。

运算符描述表达式对应方法
+加法 a + b a.plus(b)
-减法 a-b a.minus(b)
*乘法 a * b a.times(b)
/除法 a/b a.div(b)
模数 a%b a.rem(b)

算术运算符示例

fun main(args : Array<String>) {
  var a=10;
  var b=5;
  println(a+b);
  println(a-b);
    println(a*b);
    println(a/b);
  println(a%b);
}

输出:

15
5
50
2
0

关系运算符

关系运算符显示操作数之间的关系并进行比较。以下是不同的关系运算符:

运算符描述表达式对应方法
>大于a>ba.compateTo(b)>0
<小于a<ba.compateTo(b)
>=大于或等于a>=ba.compateTo(b)>=0
<=小于或等于a<=ba?.equals(b)?:(b===null)
==相等a==ba?.equals(b)?:(b===null)
!=不相等a!=b!(a?.equals(b)?:(b===null))

关系运算符示例

fun main(args : Array<String>) {
    val a = 5
    val b = 10
    val max = if (a > b) {
        println("a is greater than b.")
        a
    } else{
        println("b is greater than a.")
        b
    }
    println("max = $max")
}

输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-operator.html

来源:LearnFk无涯教程网

b is greater than a.
max = 10

赋值运算符

赋值运算符“ =”用于为另一个变量赋值。值的分配从右到左进行。

运算符描述表达式对应方法
+=相加且赋值 a + = b a.plusAssign(b)
-=相减且赋值'b a.minusAssign(b)
*=相乘且赋值 a * = b a.timesAssign(b)
/=相除且赋值 a/= b a.divAssign(b)
%=取模且赋值 a%= b a.remAssign(b)

赋值运算符示例

fun main(args : Array<String>) {

    var a =20;var b=5
    a+=b
    println("a+=b :"+ a)
    a-=b
    println("a-=b :"+ a)
    a*=b
    println("a*=b :"+ a)
    a/=b
    println("a/=b :"+ a)
    a%=b
    println("a%=b :"+ a)

}

输出:

a+=b :25
a-=b :20
a*=b :100
a/=b :20
a%=b :0

一元运算符

一元操作员仅使用单个操作数。以下是下面给出的一些一元运算符。

运算符描述表达式对应方法
+ 一元多 +a a.unaryPlus()
- 一元减 -a a.unaryMinus()
++递增1 ++a a.inc()
-减少1 --a a.dec()
!a a.not()

一元运算符示例

fun main(args: Array<String>){
    var a=10
    var b=5
    var flag = true
    println("+a :"+ +a)
    println("-b :"+ -b)
    println("++a :"+ ++a)
    println("--b :"+ --b)
    println("!flag :"+ !flag)
}

输出:

+a :10
-b :-5
++a :11
--b :4
!flag :false

逻辑运算符

逻辑运算符用于检查操作数之间的条件。下面给出了逻辑运算符列表。

运算符描述表达式对应方法
&&逻辑与,表达式都为true,则返回true(a>b) && (a>c)(a>b) and (a>c)
||逻辑或,表达式只要有一个true,则返回true(a>b) || (a>c)(a>b) or(a>c)
!逻辑非,返回表达式的补码!aa.not()

逻辑运算符示例

fun main(args: Array<String>){
    var a=10
    var b=5
    var c=15
    var flag = false
    var result: Boolean
    result = (a>b) && (a>c)
    println("(a>b) && (a>c) :"+ result)
    result = (a>b) || (a>c)
    println("(a>b) || (a>c) :"+ result)
    result = !flag
    println("!flag :"+ result)

}

输出:

(a>b) && (a>c) :false
(a>b) || (a>c) :true
!flag :true

按位运作符

在Kotlin,没有任何特殊的按位运算符。使用命名函数完成按位操作。

命名函数描述表达式
shl(bits)左移 a.shl(b)
shr(bits)右移 a.shr(b)
ushr(bits)逻辑右移 a.ushr(b)
and(bits)按位和 a.and(b)
or(bits)按位或 a.or(b)
xor(bits)按位异或 a.xor(b)
inv()按位逆 a.inv()

按位运算符示例

fun main(args: Array<String>){
    var a=10
    var b=2

    println("a.shl(b): "+a.shl(b))
    println("a.shr(b): "+a.shr(b))
    println("a.ushr(b:) "+a.ushr(b))
    println("a.and(b): "+a.and(b))
    println("a.or(b): "+a.or(b))
    println("a.xor(b): "+a.xor(b))
    println("a.inv(): "+a.inv())

}

输出:

a.shl(b): 40
a.shr(b): 2
a.ushr(b:) 2
a.and(b): 2
a.or(b): 10
a.xor(b): 8
a.inv(): -11

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

程序员进阶攻略 -〔胡峰〕

高并发系统设计40问 -〔唐扬〕

分布式协议与算法实战 -〔韩健〕

后端存储实战课 -〔李玥〕

代码之丑 -〔郑晔〕

性能优化高手课 -〔尉刚强〕

程序员的个人财富课 -〔王喆〕

深入浅出可观测性 -〔翁一磊〕

高并发系统实战课 -〔徐长龙〕

好记忆不如烂笔头。留下您的足迹吧 :)