1.基本数据类型
/** * Author: TianMing.Xiong * Date: Created in 17-12-23 下午6:12 */ fun main(args: Array<String>) { //8种基本数据类型 声明:var|val 变量名:[类型]=初始值 var aBoolean=false var aChar='a' var aByte:Byte= Byte.MAX_VALUE var aShort:Short= Short.MAX_VALUE var aInt:Int= Int.MAX_VALUE var aLong=1L var aFloat=2F val aDouble=3.0 //引用类型 val aString="Hello" println("$aBoolean") println("$aChar") println("$aByte") println("$aShort") println("$aInt") println("$aLong") println("$aFloat") println("$aDouble") println("$aString") }
输出:
false a 127 32767 2147483647 1 2.0 3.0 Hello
2.函数方法定义
package com.xtm.demo fun main(args: Array<String>) { println("a+b=${sum(10,20)}") println("a+b=${sum1(19,1)}") println("a+b=${sum2(19,2)}") printSum(12,13) } /** * 无返回值函数 */ fun printSum(a:Int,b:Int){ println("void print:"+(a+b)) } /** * 有返回值函数 * 格式:fun 函数名(param1:Type1,param2:Type2...):Type */ fun sum(a: Int, b: Int):Int{ return a+b } /** * 自动转型函数 */ fun sum1(a:Int,b:Int) = a + b /** * 函数简写 */ fun sum2(a:Int,b:Int):Int = a+b
输出:
a+b=30 a+b=20 a+b=21 void print:25
3.类和抽象类及接口
package com.xtm.demo /** * Author: TianMing.Xiong * Date: Created in 17-12-23 上午9:30 */ fun main(args: Array<String>){ //普通类 val site = WebSit() site.name="www.baidu.com" site.city="shenzhen" println(site.toString()) site.test() //构造方法 val animal = Animal("小鸟",2) animal.test() val animal1 = Animal("熊猫", 3, "white") animal1.test() //抽象方法 val sayHiImp = SayHiImp() sayHiImp.sayHi("Tom") //接口 val sayHelloImp = SayHelloImp() sayHelloImp.sayHello("Lily") } //普通类 setter and getter class WebSit { var name: String="" get() = field set(value) { field=value } var city: String="" get() = field set(value) { field=value } fun test(){ println("test...\n") } override fun toString(): String { return "name:${this.name}\ncity:${this.city}" } } //构造方法 class Animal constructor(private var name: String, private var age: Int){//主构造方法 private var color:String="gray" constructor(name: String,age: Int,color: String):this(name,age){//次构造方法 this.name=name this.age=age this.color=color } init { println("init...") } fun test(){ println("name:${this.name },age:${this.age},color:${this.color}\n") } } //抽象类 open class BaseSayHi{ open fun sayHi(name:String){} } abstract class AbsSayHi:BaseSayHi() { override abstract fun sayHi(name:String) } class SayHiImp :AbsSayHi(){ override fun sayHi(name:String) { println("hi! $name\n") } } //接口 interface ISayHello{ fun sayHello(name:String) } class SayHelloImp :ISayHello{ override fun sayHello(name: String) { println("Hello ! $name") } }
输出:
name:www.baidu.com city:shenzhen test... init... name:小鸟,age:2,color:gray init... name:熊猫,age:3,color:white hi! Tom Hello ! Lily