阅读 277

Kotlin手记-(4)运算符

所有语言的运算符基本都是一样的,不外乎就是+、-、*、/.运算符是对操作数(变量和值)执行运算的特殊符号(字符)。例如,+ 是执行加法的运算符。

算术运算符

运算符描述
  • | 加法运算符(也可以用户字符串的连接拼接)

-|减法运算符 *|乘法运算符 /|除法运算符(取整数) %|求模运算符(取余数)

下面我们就通过示例来对这几个运算符的运行效果

println("5+2="+(5+2))
println("5-2="+(5-2))
println("5*2="+(5*2))
println("5/2="+(5/2))
println("5%2="+(5%2))
    
    输出结果
5+2=7
5-2=3
5*2=10
5/2=2
5%2=1
    
复制代码

注:运算符“/”和“%”左右两边都是整数的时候,右边的除数是不能为0,不然编译是不能通过的,当“/”和“%”左右两边都不是整数的时候,除数是0或是0.0的时候又是什么样子的呢?

println("5/0.0="+(5/0.0))
println("5%0.0="+(5%0.0))
println("5.0/0="+(5.0/0))
println("5.0%0="+(5.0%0))
    
输出结果:
5/0.0=Infinity
5%0.0=NaN
5.0/0=Infinity
5.0%0=NaN
复制代码

Infinity代表无穷大,NaN代表非数字

赋值运算符“=”

赋值运算符就是给变量赋值,在“=”的左边是被赋值的变量,“=”的右边就是给赋的值,可以是一个字面量(var a=5,var b = 6)也可以是一个表达式(var x= a+b)或是一个函数的返回值。

前缀运算符

运算符描述示例
  • | 一元加|+a

-|一元减|-a !|取反|!b ++|递增:+1|+ +a或a++ --|递减:-1|--a或a--

    var a = 5
    var b = -3
    println("+a=" + (+a))
    println("-a=" + (-a))

    println("+b=" + (+b))
    println("-b=" + (-b))

    println("++a=" + (++a))
    println("a++=" + (a++))
    
    运行结果:
    
    +a=5
    -a=-5
    +b=-3
    -b=3
    ++a=6
    a++=6
复制代码

一元运算符就是算术中的取正、取反,正数变负数、负数变正数,而“!”只对Boolean类型的变量进行取反操作 对单个变量进行++操作之后,变量输入的结果都是一样的,最终都会增1,如果在算术运算中会是什么样子的呢

    var a = 5
    println("a++ +2=" + (a++ + 2))
    println("a=" + a)
    输入结果是:
    a++ +2=7
    a=6
    
    
    var a = 5
    println("++a +2=" + (++a + 2))
    println("a=" + a)
    
    输入结果是:
    ++a +2=8
    a=6
复制代码

是不是发现++在前和在后结算的结果是不一样的,对变量本身而言++在前在后,变量都是增1,但是表达式中就不一样了,在前,是变量在增加1后在参与表达式计算,++在变量之后是先参与表达式计算,之后再增加1,所以最后变量a的输入结果都是一样的在原有的基础上增+1,表达式就不一样了。

比较运算符

比较运算符的结果都是一个Boolean类型的值,true和false,要么对要么错,没有第三种可能,基本用在条件语句中 if或when如:

    if (a>b){
        
    }else{
        
    }
复制代码
运算符描述示例

|大于|a>b =|大于或等于|a>=b

<|小于|a<b <=|小于或等于 |a<=b ==|等于 |a==b !=|不等于 |a!=b

    var a = 5
    var b = 6
    println("a="+a)
    println("b="+b)
    println("(a>b)="+(a>b))
    println("(a>=b)="+(a>=b))
    println("(a<b)="+(a<b))
    println("(a<=b)="+(a<=b))
    println("(a!=b)="+(a!=b))
    
    输出结果:
    a=5
    b=6
    (a>b)=false
    (a>=b)=false
    (a<b)=true
    (a<=b)=true
    (a!=b)=true
复制代码

逻辑运算符

Kotlin中逻辑运算符有两个“||”和“&&”

运算符描述示例
&&所有表达式都是true的时候结果才是true否则是falsea&&b
∣∣只要有一个表达式结果是true,结果就是true否则就是falsea∣∣ b
    var a = 5
    var b = 6
    if (a > b || a == b) {
        println("a > b || a == b 是true")
    } else {
        println("a > b || a == b 是false")
    }
    
    
复制代码

in和!in运算符

in英文的意思就是“在...之内”的意思,实际也就是这个意思,表示某一个数值或变量是不是在某一个集合中。

接下来我们定义一个字符's',在定义一个字符串“string”,来看看字符s是不是在字符串string中

    var a = 'i'
    var b = "string"

    println("s in string:"+  (a in b))
    println("s !in string:"+  (a !in b))
    
    输入结果:
    s in string:true
    s !in string:false
    
复制代码

我们使用in来判断s是在string中结果返回的是 true, 在!in返回的就是false

索引运算符

通过索引我们可以取得或修改索引对应的值,索引是从0开始的

    var b = "string"
    println(b[2])
复制代码

上面的代码我们去字符串string索引是2(也就是第三个字符)的字符,返回的是'r'

文章分类
Android
文章标签