2.1编程风格
1、驼峰命名法,不使用下划线。
例如 public class DataBaseUser
2、类的首字母要大写
class People
3、方法和属性名的首字母要小写
fun hello(){
}
2.2 Kotlin常量和变量
常量:val
变量:: var
2.2.1常量
val constrain1=3.3
val constrain3:Int=40
fun main(args:Array<String>){
println(constrain1)
println(constrain3)
println("constrain1的值是"+constrain1)
println("constrain3的值是"+constrain3)
}
2.2.2变量的定义和使用
var var1:String="Kotlin"
var var3:Int=10
var var4=5
set(value){
if(value<=5)
field=value
}
fun main(args:Array<String>){
println("var1不重新赋值的情况是"+var1)
println("var1的值是"+var1)
var1=var1+5.3
println("var1的值是"+var1)
var3=var3+5
println("var3的值是"+var3)
var4=var4+5
println("var4的值是"+var4)
}
2.2.3变量作用域
class vals(val a:Int=5){
fun geta():Int = 5
}
fun varfun():Int{
var b=10
return b
}
var c=15
fun main(args:Array<String>){
//println(a)
println(vals().a)
//println(b)
println(varfun())
println(c)
}
2.3数据类型
基本数据类型:Boolean, Number,Char
引用数据类型:Null,Object,Array
2.3.1 Boolean
var boo: Boolean=true
fun main(args:Array<String>){
if(boo==true){
println("boolean为真")
}else println("boolean为假")
}
2.3.2数值类型(Number)
var a1:Int=19
var te1:Int=0x88888
var maxint:Int=Int.MAX_VALUE
var minint:Int=Int.MIN_VALUE
var long:Long=128L
var maxlong:Long=Long.MAX_VALUE
var minlong:Long=Long.MIN_VALUE
var double:Double=2.88
var maxdouble:Double=Double.MAX_VALUE
var mindouble:Double= Double.MIN_VALUE
var float:Float=2.0f
var maxfloat:Float=Float.MAX_VALUE
var minfloat:Float=Float.MIN_VALUE
var maxShort:Short=Short.MAX_VALUE
var minShort:Short=Short.MIN_VALUE
var maxbyte:Byte=Byte.MAX_VALUE
var minbyte:Byte=Byte.MIN_VALUE
fun main(args:Array<String>){
println(a1)
println(te1)
println(maxint)
println(minint)
println(long)
println(maxlong)
println(minlong)
println(double)
println(maxdouble)
println(mindouble)
println(float)
println(maxfloat)
println(minfloat)
println(maxShort)
println(minShort)
println(maxbyte)
println(minbyte)
}
2.3.3 字符串类型(Char)
fun main(args:Array<String>){
val letterchar:Char='a'
val nubchar:Char='0'
val UnicodeChar:Char='\u7231'
val yi:Char='\n'
println("转义字符${yi}字母,char类型${letterchar},数字char类型${nubchar},Unicode编码char类型:${UnicodeChar}")
}
2.3.4字符串类型(String)
2.3.5元组类型Tuple
fun main(args:Array<String>){
val (status,msg)=Pair(404,"Not Found")
val (server,script,database)=Triple("Tomcat","PHP","MySQL")
println("方式一:访问${server}+${script}+${database}环境,得到反馈码${status},表示${msg}")
val http=Pair(404,"Not found")
val Development=Triple("Tomcat","PHP","MySQL")
println("方式二:访问${Development.first}+${Development.second}+${Development.third}环境,反馈得到状态码${http.first},表示${http.second}")
}
2.3.6可空类型Null
fun main(args:Array<String>){
var address:String?=null
//可空类型
println(address?.length)
}
2.3.7对象类型(Object)
class course(var name:String){
init{
println("你选择的课程名称是${name}")
}
}
fun main(args:Array<String>){
val studentobj=course("Kotlin")
}
2.3.8数组类型(Array)
val arrayOfInt:IntArray= intArrayOf(1,2,3,4,5)
val arrayOfChar:CharArray=charArrayOf('H','e','l','l','o')
val arrayOfString: Array<String> = arrayOf("我","爱","Kotlin")
fun main(args:Array<String>){
println(arrayOfInt[2])
for(String in arrayOfString){
println(String)
}
}
2.3.9数组类型的检查和转换
fun main(args:Array<String>){
val a=10
if(a is Int){
println(a)
}
if(a!is Int){
println(a)
}
val b: String?=a as? String
println(b)
val c=a.toDouble()
println(c)
}