var关键字 变量名:变量类型 = 初始值
//var关键字 变量名:变量类型 = 初始值
var name: Int = 5
数据类型
我们可以用val关键字声明只读变量,和Java中final关键字相同
fun main() {
// 变量名:变量类型 = 初始值
var age: Int = 5
val name:String = "张三"
}
声明变量时如果已经初始化,kotlin允许省略数据类型
fun main() {
// 变量名 = 初始值
var age = 5
val name = "张三"
}
只读变量并不是常量,也是可以修改的 如果想要定义一个常量,就像我们Java中的:
public static final int MAX = Integer.MAX_VALUE;
则也需要在函数外定义:
const val MAX = 100
fun main() {
print(MAX)
}
常量只能是基本数据类型:Int,Long,Short,Float,Double,String,Byte,Char,Boolean
和Java相同
fun main() {
var gender = 0
if (gender == 0) {
print("男")
} else {
print("女")
}
}
可以判断一个元素是否在集合里: [item] in [start]..[end]
fun main() {
var age = 8
if (age in 0..10) {
print("小孩")
}
}
相当于Java中的switch表达式: case被省略,: 变为 ->
fun main() {
var age = 10
when (age) {
0 -> {
print("a")
}
10 -> {
print("b")
}
else -> {
print("c")
}
}
}
脚本语言都有的 $取变量内容 字符串拼接方便很多
fun main() {
val name = "张三"
var who = "他是$name"
val age = 5
var my = "我是${name},我今年${age}岁"
println(who)
println(my)
}
结果: 他是张三 我是张三,我今年5岁
//修饰符 函数声明关键字 函数名 入参 返回类型
private fun getInfo(age: Int): String
可以给入参设定默认值
private fun getInfo(age: Int = 5, name: String): String {
return ""
}
调用函数时,不需要一定按照函数定义的顺序传参
fun main(){
getInfo(name = "张三",age = 10)
}
//修饰符 函数声明关键字 函数名 入参 返回类型
private fun getInfo(age: Int = 5, name: String): String {
return ""
}
TODO函数就是抛出异常,使用Nothing类型作为返回参数
fun main() {
println("123")
TODO("抛出一个异常")
println("456")
}
结果:
123
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: 抛出一个异常
at com.aruba.mykotlinapplication.FunctionKt.main(function.kt:11)
at com.aruba.mykotlinapplication.FunctionKt.main(function.kt)
如果我们想用使用一段话来作为函数名,可以使用``将函数名包裹
fun `哈哈,这是一个特殊的函数`(){}