控制语句
马上要回学校了,就还是把之前学的总结一下,害怕自己忘了
1.if语句
这个和java的if语句一样的用法,但是还是有点区别的
fun main(args: Array<String>) {
val s = "笑笑"
if(s.equals("笑笑")){
println("笑笑")
}else{
println("不是笑笑")
}
}
输出结果:笑笑
1.1.特殊用法 当作一个表达式
格式:var B:Int = if(变量A > 数值1) 数值2 else 数值3
如果变量A大于数值1 等于数值2 反之等于数值3
fun main(args: Array<String>) {
var a = 3
var b = if(a > 2)4 else 5
println("b = ${b}")
}
结果: b = 4
2.for语句
这个就和java里面的变化比较大了,以前的java的for循环都是初,条,体,步这样的运行规则但在kotlin里面废除了这个,并对这个进行了很大的改进和增强 下面有很多条慢慢讲
2.1、递增
关键字:until
范围:until[n,m) => 即大于等于n,小于m
fun main(args: Array<String>) {
for(i in 0 until 5){
println("i = $i\t")
}
}
输出结果:
i = 0
i = 1
i = 2
i = 3
i = 4
2.2、递减
关键字:downTo
范围:downTo[n,m] => 即小于等于n,大于等于m ,n > m
for(i in 5 downTo 0){
println("i = $i \t")
}
结果:
i = 5
i = 4
i = 3
i = 2
i = 1
i = 0
2.3符号(’ .. ‘) 表示递增的循环的另外一种操作
使用符号( ‘..’).
范围:..[n,m]=> 即大于等于n,小于等于m
和until的区别,一是简便性。二是范围的不同。
for(i in 0..5){
println("i = $i")
}
结果:
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
2.4设置步长
关键字:step
for(i in 0..5 step 2){
println("i = $i")
}
结果:
i = 0
i = 2
i = 4
2.5、迭代
for循环提供一个迭代器用来遍历任何东西字符串也行,数组也行
for (i in "abcdefg"){
print("i => $i \t")
}
结果:i => a i => b i => c i => d i => e i => f i => g
var s = arrayOf(1,2,3,4,5,6,8,9,0)
for(i in s){
println("i = $i")
}
结果:
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 8
i = 9
i = 0
When控制语句
这个就厉害了,代替了java里面的switch语句,功能变的更强大了
类似于switch的语句
when(5){
1 -> {
println("1")
}
2 -> println("2")
3 -> println("3")
5 -> {
println("5")
}
else -> {
println("0")
}
}
输出结果:5
switch语句里面的break 等于 kotlin里面的一个逗号
when(1){
// 即x = 1,2,3时都输出1。
1 , 2 , 3 -> {
println("1")
}
5 -> {
println("5")
}
else -> {
println("0")
}
}
输出结果:1
**条件可以使用任意表达式,不仅局限于常量
相当于if表达式的用法。**
var num:Int = 5
when(num > 5){
true -> {
println("num > 5")
}
false ->{
println("num < 5")
}
else -> {
println("num = 5")
}
}
输出结果为:num < 5
检查值是否存在于集合或数组中
操作符:
(in) 在
(!in) 不在
限定:只适用于数值类型
var arrayList = arrayOf(1,2,3,4,5)
when(1){
in arrayList.toIntArray() -> {
println("1 存在于 arrayList数组中")
}
in 0 .. 10 -> println("1 属于于 0~10 中") //..是从什么到什么的意思
!in 5 .. 10 -> println("1 不属于 5~10 中")
else -> {
println("都错了 哈哈!")
}
}
结果:1 存在于 arrayList数组中
检查值是否为指定类型的值
操作符
是(is)
不是(!is)
when("笑笑"){
is String -> println("笑笑是一个字符串")
else -> {
println("笑笑不是一个字符串")
}
}
结果:笑笑是一个字符串
总结
在控制语句方面 for 和 when变化很大,其他的有些while之类的基本和java相同