学习一门语言,我总是会先学习一下基本的语法。因为并不急着应用Kotlin去开发项目,所以,还是有很多的时间去学习。今天,简单的总结一下Kotlin的基本语法。
一.函数
1.有参有返回值函数
fun sum(x: Int, y: Int): Int {
return x + y
}
2.有参无返回值函数
fun printSub(x: Int, y: Int) {
println(x - y)
}
3.无参无返回值函数
fun printMul() {
println(3 * 5)
}
4.无参有返回值函数
fun div(): Int {
return (9 / 3)
}
二.变量
1.定义只读局部变量,使用val关键字,只能赋值一次:
val a: Int = 1 //立即赋值
val b = 2 //自动推断类型:Int
val c: Int //没赋值,类型不能省略
c = 3
2.定义可重新赋值的变量,使用var关键字,此变量不可为null:
var d = 4
d += 1
4.定义可空变量,使用?且类型不可省略,此变量可以被赋值为null:
var e: String? = "hello"
e = null
3.定义常量,使用const val关键字:
const val TAG = "HELLO_KOTLIN"
4.定义后期初始化变量,使用lateinit关键字,不能声明于基本数据类型,使用前必须初始化:
lateinit var f:String;
如果在使用前不初始化,会报异常UninitializedPropertyAccessException:
5.定义顶层变量,即在类之上:
const val TAG = "HELLO_KOTLIN"
三.注释
1.单行注释
//
2.多行注释
/*
*/
四.字符串模板
1.使用$
val a: Int = 1
println("a:$a")
2.使用${}
var g:String = "xxx";
println("$g.length is ${g.length}")
五.条件判断语句
1.if语句
fun ifTest(x: Int, y: Int): Int {
if (x > y) {
return x
} else {
return y
}
}
2.when语句
fun whenTest(x: Int):String?{
when(x){
1 -> return "Monday"
2 -> return "Tuesday"
3 -> return "Wednesday"
4 -> return "Thursday"
5 -> return "Friday"
6 -> return "Saturday"
7 -> return "Sunday"
}
return null
}
六.循环语句
1.for 循环
fun forTest(){
var list = listOf<String>("a","b","c")
for (item in list){
println(item)
}
}
2.while循环
fun whileTest(){
var list = listOf<Int>(1,2,3)
var index =0
while (index<list.size){
println(list.get(index))
index++
}
}
七.is运算符
is 运算符检测一个表达式是否某类型的一个实例,如果是该类型的实例,则可以直接使用该类型的方法,不需要显示类型转换:
fun getStringLength(obj:Any):Int?{
if(obj is String){
return obj.length
}else{
return null
}
}
八.in运算符
使用in运算符来检测某个数字是否在指定区间内:
fun inTest(x:Int):Boolean{
return (x in 1..10)
}
九.全部代码
package com.tudu.kotlin
//定义顶层变量
const val TAG = "HELLO_KOTLIN"
fun main() {
//定义只读局部变量使用val
val a: Int = 1 //立即赋值
val b = 2 //自动推断类型:Int
val c: Int //没赋值,类型不能省略
c = 3
//定义变量
var d = 4
d += 1
//定义可空变量
var e: String? = "hello"
e = null
//定义后期初始化变量
lateinit var f:String;
var g:String = "xxx";
println(sum(2, 3))
printSub(2, 1)
printMul()
println(div())
println("a:$a")
println("b:$b")
println("c:$c")
println("d:$d")
println("e:$e")
f = "123"
println("f:$f")
println("$g.length is ${g.length}")
println("TAG:$TAG")
println(whenTest(7))
forTest()
whileTest()
println(getStringLength("123abc"))
println(inTest(5))
}
//有参有返回值函数
fun sum(x: Int, y: Int): Int {
return x + y
}
//有参无返回值函数
fun printSub(x: Int, y: Int) {
println(x - y)
}
//无参无返回值函数
fun printMul() {
println(3 * 5)
}
//无参有返回值函数
fun div(): Int {
return (9 / 3)
}
//if条件判断语句
fun ifTest(x: Int, y: Int): Int {
if (x > y) {
return x
} else {
return y
}
}
//when条件判断语句
fun whenTest(x: Int):String?{
when(x){
1 -> return "Monday"
2 -> return "Tuesday"
3 -> return "Wednesday"
4 -> return "Thursday"
5 -> return "Friday"
6 -> return "Saturday"
7 -> return "Sunday"
}
return null
}
//for循环
fun forTest(){
var list = listOf<String>("a","b","c")
for (item in list){
println(item)
}
}
//while循环
fun whileTest(){
var list = listOf<Int>(1,2,3)
var index =0;
while (index<list.size){
println(list.get(index))
index++
}
}
//is
fun getStringLength(obj:Any):Int?{
if(obj is String){
return obj.length
}else{
return null
}
}
//in
fun inTest(x:Int):Boolean{
return (x in 1..10)
}
学习一门新的语言,我还是习惯先从基本语法看起,虽然很多人觉得这很浪费时间。这篇博客简单总结了一下Kotlin的基本语法,其实很多地方和Java有共同之处,还是比较好上手的。