kotlin官方文档再看下去遭不住了,知识吸收概率太低,并且很多都没有涉及,于是我采用了别人的文字教程,我个人时不喜欢视频教程的,因为视频我概率学不进去。 教程github链接[零基础学kotlin][1] 基础变量 var or val val相当于一个final类型变量,他一个申明就不能改变,而var则可以改变 ---------- 标准变量格式: var yu:String="qwe" 定义格式: 关键字 变量名: 数据类型 = xxx var会自适应变量类型,但是仍旧建议大家使用这个格式来声名变量,这样更符合规范。 代码一行结束后不必刻意加上;,不用加也没有什么问题。 变量可使用?来声明可空变量。 如: var/val 变量名 : 类型? = null/确定的值 var cout:String?=null 没有这么申明一个可空变量,那么这个变量永远不能等于空。 也可以用 可空类型变量?.属性/方法。如果可空类型变量为null时,返回null 当前面为空时,整个表达式都为空 ---------- 初始化变量 使用lateinit var 来初始化变量 声名基础类型会报错 如:lateinit var a:Int 但是String类型是不会报错的。 ---------- 所谓延迟初始化即:指当程序在第一次使用到这个变量(属性)的时候再初始化。 在我看来延迟初始化用来节省资源以及Android组件的声名变量。 延时需要使用新的高级函数 lazy{} 如: private val msetr:String by lazy{ "延时化变量" } 必须使用val来定义变量,即就是只读变量。 ---------- Kotlin中的 val numA = 6 等价于 Java中的:public final int numA = 6 val的关键词也很有意思,可以看作一个不能修改的变量而已,与常量不同。 倘若想变成不可以重新赋值的常量,需要定义 const标识。 如: const val nname=1 他只能使用val,并且牢记他只能在顶层或对象内使用 更因为const的缘故,不可以将此行放在函数内。因为他不能用于局部变量。 他还可以声明在object修饰的类和伴生对象中 如:// 2. 在object修饰的类中 object TestConst{ const val B:String = "object修饰的类中" } ---------- 注释和java的差不多,但是多了个嵌套注释,如/* /* */ */ 这样都是可以的。 [1]: https://github.com/Jetictors/KotlinLearn Loading... kotlin官方文档再看下去遭不住了,知识吸收概率太低,并且很多都没有涉及,于是我采用了别人的文字教程,我个人时不喜欢视频教程的,因为视频我概率学不进去。 教程github链接[零基础学kotlin][1] 基础变量 var or val val相当于一个final类型变量,他一个申明就不能改变,而var则可以改变 ---------- 标准变量格式: var yu:String="qwe" 定义格式: 关键字 变量名: 数据类型 = xxx var会自适应变量类型,但是仍旧建议大家使用这个格式来声名变量,这样更符合规范。 代码一行结束后不必刻意加上;,不用加也没有什么问题。 变量可使用?来声明可空变量。 如: var/val 变量名 : 类型? = null/确定的值 var cout:String?=null 没有这么申明一个可空变量,那么这个变量永远不能等于空。 也可以用 可空类型变量?.属性/方法。如果可空类型变量为null时,返回null 当前面为空时,整个表达式都为空 ---------- 初始化变量 使用lateinit var 来初始化变量 声名基础类型会报错 如:lateinit var a:Int 但是String类型是不会报错的。 ---------- 所谓延迟初始化即:指当程序在第一次使用到这个变量(属性)的时候再初始化。 在我看来延迟初始化用来节省资源以及Android组件的声名变量。 延时需要使用新的高级函数 lazy{} 如: private val msetr:String by lazy{ "延时化变量" } 必须使用val来定义变量,即就是只读变量。 ---------- Kotlin中的 val numA = 6 等价于 Java中的:public final int numA = 6 val的关键词也很有意思,可以看作一个不能修改的变量而已,与常量不同。 倘若想变成不可以重新赋值的常量,需要定义 const标识。 如: const val nname=1 他只能使用val,并且牢记他只能在顶层或对象内使用 更因为const的缘故,不可以将此行放在函数内。因为他不能用于局部变量。 他还可以声明在object修饰的类和伴生对象中 如:// 2. 在object修饰的类中 object TestConst{ const val B:String = "object修饰的类中" } ---------- 注释和java的差不多,但是多了个嵌套注释,如/* /* */ */ 这样都是可以的。 [1]: https://github.com/Jetictors/KotlinLearn 最后修改:2021 年 04 月 07 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏