【学习笔记】从零开始学习Kotlin开发-Day1:基础语法与基础数据类型
【学习笔记】从零开始学习Kotlin开发-Day1:基础语法与基础数据类型
NianSir's BLOG

【学习笔记】从零开始学习Kotlin开发-Day1:基础语法与基础数据类型

NianSir
2024-07-31 / 0 评论 / 47 阅读

kotlin学习笔记@day1.png

前言

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

Kotlin基础语法

KotLin虽然是运行在JVM上的编程语言,但其内部与Java存在着诸多不同,例如在语法定义,编码风格上存在较大差异,例如观察下面的代码:

package com.niansir.demo

fun main() {
    val text = "Hello World"
    println(text)
}

看起来似乎很正常,甚至感受不到什么差别?我想如果接触过PHP等其他弱类型编程语言的同学会本能的将 val 理解为类似PHP中 var 这样的数据类型,但其实在Kotlin中val、var并不是基础数据类型,严格的讲它只是一个权限修饰符,类似Java中的 final 这样,简单的讲,在Kotlin中val是仅允许赋值一次的变量(如果在val前面再加一个const组成 const val 则是常量),var则是允许多次覆写的变量,那可能就要问了数据类型怎么表示?请看下方代码:

package com.niansir.demo
const val PI = 3.14
fun main() {
    val text = "Hello World"
    var age : Int
    val name:String = "NianSir"
    println(text)
    println(name)
    age = 1
    age = 18
    println(age)
}

这段代码的运行结果是:

com.niansir.demo.Study001Kt
Hello World
NianSir
18

进程已结束,退出代码为 0

如果是像NianSir这样的小白的话第一眼看上去应该是这个表情吧:😰
是不是脑瓜子嗡嗡的?好像看上去没啥问题但又好像看不太明白?
没错,Kotlin同样可以先声明再赋值,并且尾部可以不用加 ; 结束;除此之外,你也可以在赋值时声明类型也可以不声明让系统自动判断,并且 😂 kotlin语法格式是先写变量名再冒号数据类型: 变量名:数据类型 除了初期接触会不适应外倒也没啥,另外常量只能在函数体外定义(这点很好理解,常量本来就该是初始就不会变的固定值,类似于系统基础参数这样的,如果在函数体内定义则只有该函数运行时才会动态生成值,与常量定义相悖)
我们再来看看标准的函数定义方法:

fun sum(a: Int, b: Int): Int {   // Int 参数,返回值 Int
    return a + b
}

除此之外还可以表达式作为函数体,返回类型自动推断:

fun sum(a: Int, b: Int) = a + b
public fun sum(a: Int, b: Int): Int = a + b   // public 方法则必须明确写出返回类型

还可以构造类似void的无返回类型函数:

fun printSum(a: Int, b: Int): Unit { 
    print(a + b)
}


// 如果是返回 Unit类型,则可以省略(对于public方法也是这样):
public fun printSum(a: Int, b: Int) { 
    print(a + b)
}

另外,对于传入参数函数传参数(长度)不固定时,可以使用 vararg 关键字进行标识:

fun vars(vararg v:Int){
    for(vt in v){
        print(vt)
    }
}

// 测试
fun main(args: Array<String>) {
    vars(2,0,2,4)  // 输出2024
}

...晚点继续连载,累了 😂

12

评论 (0)

取消