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