主要测试三目运算符,with调用类中多个方法,when,if表达式
package net.edaibu.kotlintest
import java.io.File
/**
* Created by ${GEQIPENG} on 2017/5/20.
* 数据类
*/
//数据类
data class Customer(val name: String, val age: Int)
//设置方法默认值
fun method1(a: Int = 0, b: Int = 2, c: String = "") {}
fun main(args: Array<String>) {
//过滤list
val list = listOf("asyncHttp", "okHttp", "Retrofit", "xUtils", "httpUrlConnection", "httpClient")
list.filter { it.startsWith("h") }
.forEach { println(it) }
//字符差值器
val name = "";
println("name $name")
//遍历map集合
val map = mapOf("a" to 1, "b" to 2)
println(map["a"])
//懒属性
// val p:String by lazy { }
//扩展函数 什么鬼,干什么用的!
fun String.spaceToCamelCase() {
"Convert this to camelcase".spaceToCamelCase()
}
println("?的使用___________________________")
//为空判断
val files = File("test").listFiles()
println(files?.size)
//不为空..否则..判断
println(files?.size ?: "empty")
//判断为空时的操作
files ?: println("存在文件")
//不为空执行下面的代码块 结果:001 002 003
files.let {
val list2 = listOf("001", "002", "003")
for (item in list2) {
println(item)
}
}
println("when判断使用————————————————————————————————————")
fun colors(str: String): Int {
return when (str) {
"red" -> 1
"green" -> 2
"blue" -> 3
else -> 0
}
}
println(colors("red"))
println("try.... catch使用————————————————————————————————————————————")
fun tryCatch() {
val result = try {
println("哈哈哈哈")
} catch (e: ArithmeticException) {
throw IllegalStateException(e)
}
}
println(tryCatch())
println("if表达式的使用————————————————————————————————————————————")
fun UseIf(param:Int){
val result=if (param==1){
"俄罗斯"
}else if(param==2){
"美国"
}else{
"中国"
}
println(result)
}
println(UseIf(100))
println("只有一个表达式的函数————————————————————————————————————")
fun onlyOne()=11111
//另外一种写法
fun onlyOne2():Int {
return 1111
}
println(onlyOne())
println(onlyOne2())
println("利用with调用对象中的多个方法————————————————————————————————")
//创建对象
val mMultiMethod = multiMethod();
//使用with调用类中的方法
with(mMultiMethod) {
print1()
print2()
}
//生成一个判断的布尔值
val boolean:Boolean?=false
if (boolean==true){
println(true)
}else{
println(false)
}
}
class multiMethod{
fun print1(){
println(1)
}
fun print2(){
val list3= listOf("红茶","绿茶","奶茶")
for (tea in list3){
println(tea)
}
}
}