前言
上节讲到kotlin的字符串操作,这节讲讲kotlin的逻辑流程控制。
今天涉及内容
- if-else 条件控制
- Loop(循环)和Range(区间)
- when表达式
一. if-else 条件控制
//颜值判断器:颜值>80为帅哥,<=80为衰哥
checkFace(90)
checkFace(65)
//返回两个数中较大的数
var number1=127
var number2=90
var bigNum=getBigNumber(number1,number2)
printLog("${number1}和${number2}两个数中较大的数为:${bigNum}")
fun checkFace(age:Int){
if(age>80){
printLog("这是一个帅哥")
}else{
printLog("这是一个衰哥")
}
}
fun getBigNumber(a:Int,b:Int):Int{
if(a>b){
return a
}else{
return b
}
}
二. Loop(循环)和Range(区间)
场景:计算一个1+2+3+4...+100的和
//声明一个1,2,3,一直到100的数组
var nums=1..100 //这就是区间表示
var result=0
//循环打印数组
for(num in nums){ //这就是循环
result=result+num
printLog("打印数组中的数字:"+num)
}
printLog("求和结果为:"+result)
".."表示闭区间,1..100表示从一到十,即[1,100]
until 表示前闭后开区间,1 until 10表示从一到九,即[1,10)
示例:
var numb=1 until 10
for(i in numb){
printLog(""+i)
}
步长“step”的使用
var nums2=1..16
for(i in nums2 step 2){
//打印1,3,5,7,9,11,13,15
printLog(""+i)
}
反转reversed(),即倒序的意思
var numbs3=nums2.reversed()
for(i in numbs3){
//打印16,15,14,....1
printLog(""+i)
}
打印数组长度count
printLog("numbs3数组长度为:"+numbs3.count())
三. when表达式
实现场景:10分满分,9干的不错,8还可以,7还需努力,6刚好及格,其他(需要加油啦)
gradeStudent(8)
fun gradeStudent(score:Int){
when(score){
10->printLog("考了满分,棒棒的")
9->printLog("干得不错")
8->printLog("还可以")
7->printLog("还需努力")
6->printLog("刚好及格")
else->printLog("需要加油哦")
}
}
注:kotlin的when表达式与java中的switch-case表达式有异曲同工之处,它甚至比switch-case更加方便更强大
以下为将 diary() 中的数字替换成汉字
var diaryText=numToChinese("大雄宝殿")
printLog(diaryText)
fun numToChinese(placeName: String): String {
var result = when (placeName.length) {
1 -> "一"
2 -> "二"
3 -> "三"
4 -> "四"
5 -> "五"
else -> "几"
}
var temple = "今天天气晴朗,万里无云,我们去${placeName}游玩,首先印入眼帘的是,${placeName}${result}个镏金大字"
return temple
}
ok,今天关于逻辑流程语句就简单的讲到这里咯
网友评论