when表达式
when表达式的用法类似与java中的switch表达式
fun main(args: Array<String>) {
log(1);
log(2);
log(3);
log(4);
log(5);
log(6);
}
fun log(logLevel: Int){
when(logLevel){
1 -> println(logLevel);
2 -> println(logLevel);
3 -> println(logLevel);
4 -> println(logLevel);
5 -> println(logLevel);
else -> println("else");
}
}
复制代码
输出结果:
1
2
3
4
5
else
复制代码
Range
可以在Kotlin中定义一个区间,以下是先定义一个1到100的闭区间,然后通过循环计算出1到100之和的代码:
var nums = 1..100;
var sum = 0;
for(num in nums){
sum+=num;
}
println(sum);
复制代码
注:这里插一个题外话,上述的for(num in nums)与java中的foreach循环相类似。
开闭区间的表示方法:
- [1,100]:1 .. 100
- [1,100):1 until 100
将集合倒叙api :nums.reversed(); 获取集合总数:nums.count();
循环的写法(loop)
-
for(num in nums) 上述提到的for(num in nums)与java中的foreach循环类似,nums可看作一个集合,num为遍历过程中的某一个子项。
-
for(num in nums step 2) 在第一点的基础上加上step i,i为所要设置的步长,即遍历是从第0个开始隔i个获取一次值:
fun main(args: Array<String>) { var nums = 1..10; for(num in nums step 2){ println(num); } } 复制代码
输出结果:
1
3
5
7
9
复制代码
List和Map的创建
List和Map与java中的不同在于它们的创建写法,其余的api与java类似。有需要可查阅此处:常用集合的使用
-
List的创建
var nums = listOf< String >( "111", "222", "333", "444"); 复制代码
-
Map的创建与添加
var map = HashMap< String,String >(); map["one"]="a"; map["two"]="b"; 复制代码
注:对于map的取值只需要map[对应的key值],如:map["one"]