您的位置:首页 > 其它

Kotlin基础教程-基础语法

2017-05-25 16:58 162 查看
Basic Syntax

包的定义

package com.doctorq
import java.util.*
fun main(args:Array<String>){
println("HelloWorld")
}


这里面的包定义和Java有一点不同,它和文件所在的路径没有关系,但是编译过后,却会按照包名来生成路径



函数定义

带返回值的函数

fun sum(a:Int,b:Int):Int{
return a+b
}


函数关键字为
fun
(少敲几个字母了),参数名和类型要倒叙,返回值用:后面跟类型。这个很Scala

而且调用函数,没有对象的概念,直接调用了。



(编译过程有点慢啊)

表达式函数

fun sum(a: Int, b: Int) = a + b




无返回值的函数

Unit关键字表示

fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}


也可缺省

fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}




本地变量

常量,关键字val

val a:Int = 1
val b = 1


变量,关键字var

val c
c = 1


这种表达式在REPL中无法实现报错:



所以还是用IDEA展示下



注释

可以使用双斜杠//注释一行语句,或者/**/的格式注释语句块



格式化字符串

在字符串中输出字符串,以$+变量名的形式就可以直接读取字符串的值

val name:String="doctorq"
println("Hello World,$name")


字符串中调用函数

val name:String="doctorq"
val s = "Hello World,$name"
val age = "27"
val s2 = "${s.replace("World","Girl")},I am $age"




条件表达式

正常语句

fun maxOf(a: Int, b: Int): Int {
if (a > b) {
return a
} else {
return b
}
}


条件表达式

fun maxOf(a: Int, b: Int) = if (a > b) a else b


这个很scala,看下scala的定义:





一模一样,两者利用的是最后一个语句块作为返回值,无需用return返回。

空值安全检查

对于可能返回空值的函数,必须标注出来,在返回值类型后面跟?表示,比如有一个函数返回Int值,如果可能返回空值,那就要写成Int?

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: