Kotlin学习笔记--Kotlin之语言基础
Kotlin简介
Kotlin是一门静态类型编程语言,支持JVM平台、Android 平台等等支持与Android、java 完全互操作。
Kotlin语言特性:类型推断,多范式支持,可空性表达,扩展函数,模式匹配等等。
2017年Google I/O大会正式宣布将Kotlin语言列为Android官方语言。
Kotlin语言基础
1.包
在java中,我们通过包名+类名来唯一确定一个类。Kotlin沿袭了这一概念,同时进行了扩展,我们可以在.kt文件的开头声明package 命名空间,和这个文件所在的路径目录结构无序匹配。如果使用的类或者方法不在同一个package下,在开发过程中,AS会自动导入我们需要的包。
import com.example.fan.kotlindemo1.test.test.BaseKotlin//自动导入不同包下的类
import com.example.fan.kotlindemo1.test.testPackageFun//自动导入包级方法
不过鉴于java开发的习惯,我们一般不会在同一个目录结构下,使用不同的package
2.变量
2.1 声明变量
kotlin中一切都是对象,所以所有的变量也都是对象。
kotlin 中的变量分为var可变与val不可变变量。即val声明的变量无法再次赋值。
2.2 变量类型推断
大部分的情况下,在kotlin中,我们声明变量不需要声明变量类型,可以交由编辑器自动推断。如
val i = 1//此时i为int类型
val s = "sss"//此时s为String类型
但是类型推断并不是所有的。如果需要进行类型转换,如float转换为double,则需要显式的调用类型转换函数
val l = 1.1f
val d:Double = l.toDouble()
2.3 变量类型检测
is 运算符可以检测一个表达式是否为某类型,有点类似于java 中的instance。
如果一个局部变量已经通过is 判断出为某类型。则在检测后的分支可以直接当成该类型使用而不需要显示转换。
2.4 字符串与模板表达式
Kotlin中,原始字符串可以由三重引号 “”" 分隔,可以包含换行符等任何字符。字符串中可以包含模板表达式,以$开始。
var str = """ println("(++c):" + (++c))"""
println(str)
println("$str 的最后一个字符为 ${
str.last()}")
//I/System.out: println("(++c):" + (++c))
//I/System.out: println("(++c):" + (++c)) 的最后一个字符为 )
3.流程控制语句
3.1 if
在kotlin中, if 是一个表达式,即它会返回一个值。
Kotlin中没有true?1:0这样的三元表达式。
val result = if(a>b) a else b //类似三元表达式。
if的分支可以是代码块,最后的表达式作为该块的值
baseKotlin.test1(10,5)
fun test1(a:Int,b:Int) {
val result = if (a>b)a-b else a+b
val result1 = if (a<b){
val r = a*b
r+1
}