包的定义与导入
包定义与导入与java相同。
package my.demo
import kotlin.text.*程序入口点
程序入口点是main函数,但是没有静态的,考虑是否kotlin有静态函数。
fun main() {
println("Hello world!")
}因为主要是没有参数的,所以有无参数的。当然现在是有参数的。使用Array<String> 来替代。
fun main(args: Array<String>) {
println("Hello World!")
}I/O打印输出
标准输出
提供print和println两种打印输出。
println("Hello World!")
print("abc")
print("def")标准输入
提供readln,readLine。其中若文件结束或遇到EOF则返回为null
val line:String = readln();
println(line)readln和readLine的原函数如下。略有不同
public actual fun readln(): String = readlnOrNull() ?: throw ReadAfterEOFException("EOF has already been reached")
public fun readLine(): String? = LineReader.readLine(System.`in`, Charset.defaultCharset())函数
kotlin的函数直接使用关键字声明即可,函数类似于TS。
fun sum(a:Int,b:Int): Int {
return a+b;
}kotlin函数对于简单的函数,它支持将函数直接定义。
fun sum(a:Int,b:Int)=a+b返回无意义的函数
fun print():Unit {
println("Hello World")
}当然,也可以省略
fun print() {
println("Hello World")
}
fun main(){
println(print())
}变量
kotlin声明变量可以使用val或var,其类型会自动推断。其中val相当于java的const。
var a=2;
a=3;
val b=4
b=3;// 报错,不通过类与实例
在此简单介绍类的基本语法,后期开专题专门介绍类
类的声明
使用class直接定义简单的类。
class A;构造函数
kotlin的构造函数和js差不多,直接使用函数进行构造。kotlin构造时不使用new构造,直接当函数执行。
fun main(){
var rectangle = Rectangle(5.0, 2.0)
rectangle.perimeter.dec()
rectangle.height
rectangle.abc
}
class Rectangle(val height: Double, val length: Double) {
val perimeter = (height + length) * 2
var abc=3;
}多构造函数
构造函数直接在类上面的函数叫主构造函数。当然,java中存在多个构造函数。
类的继承
kotlin默认类是无法继承的,需要使用open关键字声明其为可继承的类猜能被继承。
fun main(){
var a=A();
var b=B();
}
open class A;
class B:A();