Kotlin教程:算术、关系、赋值、一元、按位、逻辑运算符

2020-04-1911:57:15编程语言入门到精通Comments2,344 views字数 2585阅读模式

运算符是对操作数(值或变量)执行操作的特殊字符,Kotlin中有各种类型运算符。它们如下所示 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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

1. 算术运算符

算术运算符用于执行基本的数学运算,如加法(+),减法(-),乘法(*),除法(/)等。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式转换为
+加法a+ba.plus(b)
-减法a-ba.minus(b)
*乘法a*ba.times(b)
/除法a/ba.div(b)
%模除a%ba.rem(b)

算术运算符的例子文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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);  
}

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

15
5
50
2
0

2. 关系运算符

关系运算符显示操作数之间的关系和比较。以下是几种常见的关系运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式转换为
>大于a>ba.compateTo(b)>0
<小于a<ba.compateTo(b)<0
>=大于或等于a>=ba.compateTo(b)>=0
<=小于或等于a<=ba?.equals(b)?:(b===null)
==等于a==ba?.equals(b)?:(b===null)
!=不等于a!=b!(a?.equals(b)?:(b===null))

关系运算符的示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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")  
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

b is greater than a.
max = 10

3. 赋值运算符

赋值运算符(=)用于将值赋给另一个变量。值的分配从右到左。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式转换为
+=相加和赋值a+=ba.plusAssign(b)
-=相减和赋值a-=ba.minusAssign(b)
*=相乘和赋值a*=ba.timesAssign(b)
/=相除和赋值a/=ba.divAssign(b)
%=模除和赋值a%=ba.remAssign(b)

赋值运算符的示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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)  

}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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

4. 一元运算符

一元运算符仅与单个操作数一起使用。 以下是一些常用一元运算符。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式转换为
+一元加+aa.unaryPlus()
-一元减-aa.unaryMinus()
++递增1++aa.inc()
--递减1--aa.dec()
!!aa.not()

一元运算符的示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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)  
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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

5. 逻辑运算符

逻辑运算符用于检查操作数之间的条件。逻辑运算符列表如下 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式转换为
&&如果所有表达式都为true,则返回true(a>b) && (a>c)(a>b) and (a>c)
ΙΙ如果任何表达式为true,则返回true(a>b) ΙΙ (a>c)(a>b) or(a>c)
!返回表达的补充!aa.not()

逻辑运算符的示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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)  

}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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

6. 按位运算

在Kotlin中,没有任何特殊的按位运算符。都是使用命名函数完成按位运算。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

运算符描述表达式
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()

7. 按位运算的示例

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())  

}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

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

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-operator.html文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18246.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/18246.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定