Kotlin运算符

本文概述

  • 算术运算符
  • 关系运算符
  • 赋值运算符
  • 一元运算符
  • 逻辑运算符
  • 按位运算
运算符是对操作数(值或变量)执行运算的特殊字符。Kotlin中提供了多种运算符。
  • 算术运算符
  • 关系运算符
  • 赋值运算符
  • 一元运算符
  • 按位运算
  • 逻辑运算符
算术运算符算术运算符用于执行基本的数学运算, 例如加法(+), 减法(-), 乘法(*), 除法(/)等。
操作员 描述 表达 翻译成
+ Addition a + b 加(b)
Subtraction a-b a.minus(b)
* Multiply a*b a.times(b)
/ Division a/b a.div(b)
% Modulus a%b 雷姆(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); }

输出:
1555020

关系运算符关系运算符显示关系并在操作数之间进行比较。以下是不同的关系运算符:
操作员 描述 表达 翻译成
> greater than a> b a.compateTo(B)> 0
< Less than a< b a.compateTo(b)< 0
> = 大于或等于 a> =b a.compateTo(B)> = 0
< = 小于或等于 a< =b a?.equals(b)?:( b === null)
== 等于 a==b a?.equals(b)?:( b === null)
!= 不等于 a!=b !(a?.equals(b)?:( b === null))
关系运算符的示例
fun main(args : Array< String> ) {val a = 5val b = 10val max = if (a > b) {println("a is greater than b.")a} else{println("b is greater than a.")b}println("max = $max")}

【Kotlin运算符】
输出:
b is greater than a.max = 10

赋值运算符赋值运算符“ =”用于为另一个变量赋值。值的分配从右到左。
操作员 描述 表达 转换成
+= 添加并分配 a+=b a.plusAssign(b)
-= 减去并分配 a-=b a.minusAssign(b)
*= 乘法和分配 a*=b a.timesAssign(b)
/= 划分和分配 a/=b a.divAssign(b)
%= mod和分配 a%=b a.remAssign(b)
赋值运算符的示例
fun main(args : Array< String> ) {var a =20; var b=5a+=bprintln("a+=b :"+ a)a-=bprintln("a-=b :"+ a)a*=bprintln("a*=b :"+ a)a/=bprintln("a/=b :"+ a)a%=bprintln("a%=b :"+ a)}

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

一元运算符一元运算符仅与单个操作数一起使用。以下是下面给出的一些一元运算符。
操作员 描述 表达 转换成
+ unary plus +a a.unaryPlus()
一元减 -a a.unaryMinus()
++ 加1 ++一 a.inc()
减1 – a a.dec()
! not !a a.not()
一元运算符的示例
fun main(args: Array< String> ){var a=10var b=5var flag = trueprintln("+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)和(a> c)
|| 如果任何表达式为真, 则返回真 (a> b)|| (a> c) (a> b)或(a> c)
! 返回表达式的补码 !a a.not()
逻辑运算符的示例
fun main(args: Array< String> ){var a=10var b=5var c=15var flag = falsevar result: Booleanresult = (a> b) & & (a> c)println("(a> b) & & (a> c) :"+ result)result = (a> b) || (a> c)println("(a> b) || (a> c) :"+ result)result = !flagprintln("!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) bitwise and 和(b)
or (bits) bitwise or a.or(b)
xor (bits) bitwise xor a.xor(b)
inv() 按位逆 a.inv()
按位运算示例
fun main(args: Array< String> ){var a=10var b=2println("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): 40a.shr(b): 2a.ushr(b:) 2a.and(b): 2a.or(b): 10a.xor(b): 8a.inv(): -11

    推荐阅读