kotlin文件:.kt 变量,常量,多个,混合
java文件:.java 一个class
变量
kotlin变量声明区别于java,kotlin用var/val声明变量/常量
var a:Int=2//变量
val b=3//不可变量
kotlin中变量的声明和初始化,分为top level、class level、function level即分为顶层、类成员、函数局部变量
1.top level即直接定义变量在.kt文件中,而非属于某个类或者对象之内,如:Test.kt,根据访问权限,可在其他地方直接使用。
var a:Int=2//变量
val b=3//不可变量
//错误
var c
c=9
/*
*延迟初始化,使用lateinit关键字,但是
*不能用于Int、Short等基础数据类型上,
*且不能是可空的
*不能为val,只能是lateinit var
*/
lateinit var e:String//不能为null,必须声明类型
//可空变量
var d:String?=null//?可以为null
const val f=3.14//常量
Kotlin中变量的声明必须初始化或者延迟初始化(lateinit)。而不能只声明而不赋值
2.class level 在类中定义声明变量
class Test{
var a:Int=2//变量
val b=3//不可变量
}
函数
fun sum(a:Int,b:Int):Int{//Void
return a+b
}
//参数初适化值
fun div(a:Int, b:Float=1f){
//....
}
数据类型
1.在kotlin中没有想java一样的基础数据类型,在kotlin中,一切皆为对象
Byte、Short、Int、Long、Float、Double
8位、 16位、 32位、64位、32位、64位
2.进制表示
var g = 0x0F //十六进制
var h = 0b00001010 //二进制
var k = 127 //十进制
kotlin不支持八进制
3.数组Array
Kotlin中数组表示为Array<T>
创建方式为:
arrayOf()
var a = arrayOf(1,2,4,5,"5jf",'c')//数组类型不必如Java那样,必须一致
arrayOfNulls()
//创建元素可为null的数组
var b = arrayOfNulls<Int>(3)
//此时,获取b的元素,则都是null
工厂函数(Array())
//Array函数,两个参数,1是数组大小,2,是根据index构建的元素表达式
var c = Array(5,{index,index*2+3})
语法
逻辑控制语句、关键词:if、for、while、do…while、when和相关的break、continue、return
1.if 与java中用法相同,更加便捷
//常规用法
if(a>0)
print('')
else
print('')
//类似三目运算
val str=if(a>0)"OK"else "NOT OK"
2.for
//常规自增,自减
for(a in 0 until 10){//左闭右开[0,10)
print(a)
}
for(a 0..10){//[0,10]
print(a)
}
for (i in 10 downTo 0) {//左右都包含[10,0]
println(i)
}
for (i in 0 until 10 step 2) {//指定每次循环跳跃的步幅,在until,.. downTo都可以用
println(i)
}
3.when,类似java switch..case语句
网友评论