Kotlin if条件语句

Kotlin if条件语句,if条件语句分为3种语法格式,每一种格式都有其自身的特点,接下来我们来分别介绍这3种语法格式。

if语句

if语句是指如果满足某种条件,则进行该条件下的某种处理。例如,小明老板对小明说“如果这个月的工作业绩好,则会给小明一些奖励”。这段话可以通过下面的一段伪代码来描述:

如果小明这个月工作业绩好  
      老板会给小明一些奖励

上述伪代码中,“如果”相当于Kotlin中的关键字if,“小明这个月工作业绩好”是判断条件,需要用( )括起来,“老板会给小明一些奖励”是执行语句,需要放在{}中。修改后的伪代码如下:

if(如果小明这个月工作业绩好){ 
     老板会给小明一些奖励 
}

上面的例子描述了if条件语句的用法,在Kotlin中,if语句的具体语法格式如下:if(条件语句){

if( 条件语句){ 
      代码块 
}

上述格式中,判断条件是一个布尔值,当判断条件为true时,{}中的执行语句才会执行。if条件语句的执行流程如图所示。
Kotlin if条件语句

接下来通过一个案例来学习一下if条件语句的用法,具体代码如下所示。

package com.itheima.chapter02.choice
fun main(args: Array<String>) {
    var max: Int = 0
    var a: Int = 5
    var b: Int = 6
    if (a < b) {
        max = b
        print("max=" + max)
    }
}

运行结果:

max=6

上述代码中定义了3个变量,分别是max、a、b,它们的初始值分别为0、5、6。在if语句的判断条件中判断a的值是否小于b的值,很明显条件成立,{}中的语句会被执行,变量b的值将赋给变量max,同时打印变量max的值。从上述代码中的运行结果可以看出,max的值已有原来的0变为6。

if…else语句

if…else语句是指如果满足某种条件,就进行该条件下的某种处理,否则就进行另一种处理。例如,要判断一个整数a是否大于另一个整数b。如果a大于b,则最大值为整数a;否则最大值为另一个整数b。if…else语句的具体语法格式如下:

if(判断条件){
   执行语句1 
   … 
}else{ 
   执行语句2 
   … 
}

上述格式中,判断条件是一个布尔值。当判断条件为true时,if后面{}中的执行语句1会执行。当判断条件为false时,else后面{}中的执行语句2会执行。if…else语句的执行流程如图所示。
Kotlin if条件语句

接下来我们通过一个案例判断两个整数大小的程序,具体代码如下所示。

package com.itheima.chapter02.choice
fun main(args: Array<String>) {
    var max: Int = 0
    var a: Int = 5
    var b: Int = 6
    if (a > b) {
        max = a
    } else {
        max = b
   }
   print("max=" + max)
}

运行结果:

max=6

上述代码中变量a的值为5,变量b的值为6,判断条件“a>b”不成立,因此会执行else后面的{}中的语句,运行结果为6。

三元运算符

大家都知道,在Java中有一种运算符叫三元运算符。它和if…else语句类似,通常用于对某个变量进行赋值。当判断条件为true时,运算结果为表达式1的值;否则结果为表达式2的值。其语法格式如下:

判断条件 ?  表达式1 : 表达式2 
例 
int max = a > b ? a : b;

在Kotlin中,同样也有三元运算符,只不过语法格式稍有差别,其语法格式如下:

判断条件 ?  表达式1 : 表达式2 
例 
int max = if(a>b) ? a else b;

接下来对if…else条件判断的程序进行改写,使用三元运算符实现同样的功能,具体代码如下所示。

package com.itheima.chapter02.choice
fun main(args: Array<String>) {
    var max: Int = 0
    var a: Int = 5
    var b: Int = 6
    max = if (a > b)? a else b
    print("max=" + max)
}

运行结果:

max=6

从运行结果可以看出,程序输出的最大值为6,说明三元运算符实现了同样的功能,并且相比if…else语句更加简洁。

if…else if…else语句

if…else if…else语句用于对多个条件进行判断,进行多种不同的处理。例如对一个人的年龄进行划分,如果年龄大于66岁,则属于老年时期,否则,如果年龄大于41岁,则属于中年时期,否则,如果年龄大于18岁,则属于青年时期,否则,如果年龄大于7岁,则属于少年时期,否则,属于童年时期。if…else if…else语句的具体语法如下:

if( 判断条件1){ 
   执行语句1 
}else if(判断条件2){
   执行语句2 
} 
… 
else if( 判断条件n){ 
   执行语句n 
}else{ 
   执行语句n+1 
}

上述格式中,判断条件是一个布尔值。当判断条件1为true时,if后面{}中的执行语句1会执行。当判断条件1为false时,会继续执行判断条件2,如果为true则执行语句2,以此类推,如果所有的条件判断均为false时,则意味着所有条件均未满足,else后边{}中的执行语句n+1会执行。if…else if…else语句的执行流程如图所示。
Kotlin if条件语句

接下来我们通过一个案例来熟悉对不同年龄段的人进行划分的程序,具体代码如下所示。

fun main(args: Array<String>) {
    var age: Int = 22  // 定义一个人的年龄
    if (age > 66) {
        // 满足条件age>66
        print(" 这个人的年龄阶段为老年")
    } else if (age > 41) {
        // 不满足条件age>66 ,但满足条件age>41
        print(" 这个人的年龄阶段为中年")
   } else if (age > 18) {
       // 不满足条件age>41 ,但满足条件age>18
       print(" 这个人的年龄阶段为青年")
   } else if (age > 7) {
       // 不满足条件age>18 ,但满足条件age>7
       print(" 这个人的年龄阶段为少年")
   } else {
       // 不满足条件age>7
       print(" 这个人的年龄阶段为童年")
   }
}

运行结果:

这个人的年龄阶段为青年

上述代码中,定义了一个人的年龄age为22,不满足第1个判断条件age>66,也不满足第2个判断条件age>41,会执行第3个判断条件age>18,条件成立,因此程序会输出“这个人的年龄阶段为青年”,之后的判断条件都不会执行。

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!