Kotlin学习(二)Kotlin基础语法

        学习一门语言,我总是会先学习一下基本的语法。因为并不急着应用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有共同之处,还是比较好上手的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章