Kotlin if条件语句,if条件语句分为3种语法格式,每一种格式都有其自身的特点,接下来我们来分别介绍这3种语法格式。
if语句
if语句是指如果满足某种条件,则进行该条件下的某种处理。例如,小明老板对小明说“如果这个月的工作业绩好,则会给小明一些奖励”。这段话可以通过下面的一段伪代码来描述:
如果小明这个月工作业绩好
老板会给小明一些奖励
上述伪代码中,“如果”相当于Kotlin中的关键字if,“小明这个月工作业绩好”是判断条件,需要用( )括起来,“老板会给小明一些奖励”是执行语句,需要放在{}中。修改后的伪代码如下:
if(如果小明这个月工作业绩好){
老板会给小明一些奖励
}
上面的例子描述了if条件语句的用法,在Kotlin中,if语句的具体语法格式如下:if(条件语句){
if( 条件语句){
代码块
}
上述格式中,判断条件是一个布尔值,当判断条件为true时,{}中的执行语句才会执行。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
语句的执行流程如图所示。
接下来我们通过一个案例判断两个整数大小的程序,具体代码如下所示。
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
语句的执行流程如图所示。
接下来我们通过一个案例来熟悉对不同年龄段的人进行划分的程序,具体代码如下所示。
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
,条件成立,因此程序会输出“这个人的年龄阶段为青年”,之后的判断条件都不会执行。
酷客教程相关文章:
评论前必须登录!
注册