区间与for:
package cn.kotlin.kotlin_base04
/**
* 区间与for
*/
fun main(args: Array<String>) {
/**
* Kotlin中提供了区间,例如:存入1到100 , 在Java中可能要写多行代码,而在Kotlin中很简单,代码如下
* 1..100
*/
var numbers = 1..100
/**
* 用for循环打印
*/
for (n in numbers)
print("$n ")
println("------------------------")
var numbers2 = 20..25
/**
* 用for循环打印 有下标的详情
*/
for (n in numbers2.withIndex())
println("$n ")
println("------------------------")
/**
* 用for循环打印 有下标的
*/
for ((index, value) in numbers2.withIndex())
println("$index , $value ")
println("------------------------")
var numbers3 = 1..6
/**
* 用for循环打印 step(2) 是打印第二个 例如:123456 ,打印的是:135
*/
for (n in numbers3 step(2)) {
println("$n ")
}
println("------------------------")
/**
* 用for循环打印 step(3) 是打印第二个 例如:123456 ,打印的是:14
*/
for (n in numbers3 step(3)) {
println("$n ")
}
println("------------------------")
/**
* 反转 其实就是把数据倒过来,例如:1234 .reversed() 后 4321
*/
numbers.reversed()
}
执行结果:
List:
package cn.kotlin.kotlin_base04
/**
* 定义描述一个实体
*/
class Student(var name: String, var age: Int, var sex: String)
/**
* List集合
*/
fun main(args: Array<String>) {
/**
* 定义一个List集合,存入String字符串类型的数据
*/
var list :List<String> = listOf<String>("李小龙", "李元霸", "李连杰", "李云龙", "李子天")
// 打印List集合里面的数据
for(lis in list) {
println("$lis ")
}
println("------------------------------------------------")
/**
* 定义一个List集合,存入Int整数类型的数据
*/
var listInt : List<Int> = listOf<Int>(1, 2, 3, 4, 5, 6, 7, 8 ,9)
// 打印List集合里面的数据
for(lis in listInt) {
println("$lis ")
}
println("------------------------------------------------")
/**
* 定义一个List集合,存入float浮点型类型的数据
*/
var listFloat = listOf(10.0, 12.4, 54.6, 43.9, 24.7)
// 打印List集合里面的数据
for(li in listFloat) {
println("$li ")
}
println("------------------------------------------------")
/**
* 定义一个List集合,存入Double双精度浮点型类型的数据
*/
var listDouble = listOf(90.0, 72.4, 74.6, 53.9, 84.7)
// 打印List集合里面的数据
for(lis in listDouble) {
println("$lis ")
}
println("------------------------------------------------")
/**
* 定义一个List集合,存入Studnet实体
*/
var students = listOf<Student>(
Student("张三", 99, "男"),
Student("李四", 98, "女"),
Student("王五", 97, "男"))
for (student in students)
println("name:${student.name}, age:${student.age}, sex:${student.name}")
}
执行结果:
package cn.kotlin.kotlin_base04
import java.util.*
/**
* Map集合 键值对 K V
*/
fun main(args: Array<String>) {
/**
* 定义Map Key类型是Int, Value类型是String
*/
var map1: TreeMap<Int, String> = TreeMap<Int, String>()
map1[0] = "Java语言"
map1[1] = "Kotlin语言"
map1[2] = "C语言"
map1[3] = "C++语言"
map1[4] = "C#语言"
map1[5] = "PHP语言"
// 打印Key Value详情
println("keys:${map1.keys}, values:${map1.values}")
println("--------------------------------------------------")
// 打印Map的值
for (m in map1)
println("key:${m.key}, value:${m.value}")
println("--------------------------------------------------")
/**
* 定义Map Key类型是String, Value类型是Double
*/
var map2 = TreeMap<String, Double>()
map2["一"] = 612.8
map2["二"] = 653.0
map2["三"] = 864.7
map2["四"] = 644.7
map2["五"] = 433.7
for (m in map2) {
println("key:${m.key}, value:${m.value}")
}
println("--------------------------------------------------")
/**
* 定义Map Key类型是int, Value类型是Int
*/
var map3: TreeMap<Int, Int> = TreeMap()
// iVar是可以让for循环6次
var iVar = 1..6
// 用for 存储Map的值 iVar.count()可以得到总数6
for (i in iVar)
map3.set(i + 1, i + 100)
// 用for 打印Map的值
for (m in map3)
println("key:${m.key}, value:${m.value}")
println("--------------------------------------------------")
/**
* 定义Map Key类型是Int, Value类型是Person实体
*/
var map4: TreeMap<Int, Person> = TreeMap()
map4[100] = Person("小华", 109, "男")
map4[300] = Person("小名", 110, "女")
map4[999] = Person("小丽", 100, "男")
// 用for 打印Map的值
for (m in map4)
println("key:${m.key}, value:name${m.value.name},age${m.value.age},sex${m.value.age}")
}
/**
* 定义描述一个实体
*/
class Person(var name: String, var age: Int, var sex: String)
执行结果: