函数
方法返回值
函数的生命以关键字fun开始,函数名称紧随其后。
括号后的冒号表示返回的类型
fun max(a:Int,b:Int) :Int{
return if(a>b) a else b
}
println(max(1,2))
fun returnName(a:String,b:String) :String{
return if(a.equals("mi")) a else b
}
println(returnName("mi","zhou"))
表达式函数体
fun max2(a:Int,b:Int) : Int = if(a>b) a else b
fun returnName2(a:String,b:String) :String =if(a=="mi") a else b
//更简单的方法 可以不设置返回值
fun max2(a:Int,b:Int) = if(a>b) a else b
fun returnName2(a:String,b:String) =if(a=="mi") a else b
变量
var userName = "mi"
val age = 25
和表达式函数体一样 如果不指定类型,编辑器会分析初始化 表达式的值
也可以指定类型
var age :Int = 25
可变变量 和 不可变变量
val ——为不可变引用 使用val生命的变量不能再初始化之后再次赋值 对应java的final变量。
var——可变引用 这种变量的值可以被改变,对应java的String。
尽可能是使用val来生命变量,这样做的目的是为了更接近函数式编程风格。
字符串模版
创建一个实体类
data class Person(val name:String,val age:Int)
定义一个空数组
val list = emptyArray<String>()
val name = if(person.size>0) person[0] else "kotlin"
println("hello,$name!")
因为字符串是空的所以将打印kotlin
正常的表达式
val person = listOf(Person("mi",29)
,Person("zhou",30))
val name = if(person.size>0) person[0] else "kotlin"
println("hello,$name!")
其他表达式1 要注意,dollar符 和花括号
val person = listOf(Person("mi",29)
,Person("zhou",30))
if(person.size>0){
println("hello,${person[0]}!")
}
类和属性
注意java到kotlin的转换过程中public修饰符消失类,在kotlin中,public是默认可见的
class Person(val name:String,val age:Int)
网友评论