1-2、Kotlin变量

文章目录

    • 1、注释
    • 2、变量
      • 2-1、var可变变量
      • 2-2、val只读变量
      • 2-3、编译时常量
      • 2-4、类型推导

1、注释

Kotlin每行语句可以不以分号结束

/**
 * 多行注释 这个支持嵌套使用
 */
fun main(args: Array) {

    /* 单行注释 */
    println("Hello World!")
    // 单行注释
    println("Program arguments: ${args.joinToString()}")
}

2、变量

Kotlin中一切都是对象,都是引用类型,没有像Java的基本数据类型,但是最终编译器会生成基本数据类型

2-1、var可变变量

var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和java中声明变量的方式一样。

    var a:Int = 12
    a = 20
    var b:String = "hello"
    b = "world"
    println(a) // 20
    println(b) // world

2-2、val只读变量

val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变

    val flag:Boolean = true
    // 报错Val cannot be reassigned
    flag = false

2-3、编译时常量

// 编译时常量
const val PI = 3.14

fun main(args: Array) {

    // 报错 编译时常量不能放在函数内部,函数内只在函数调用时才赋值
    const val PI = 3.14
}

2-4、类型推导

声明时数据类型和初始化至少给定一个,或者两者都声明,否则编译器无法推断变量的类型(This variable must either have a type annotation or be initialized)

// 仅初始化,类型推导
var a = "aaaa"
val b = true

// 仅声明类型
var c:String
val d:Int

// 类型和初始化都声明
var e:Int = 12
val f:String = "abc"

// 以下代码会编译报错 This variable must either have a type annotation or be initialized
var g
g = 12
val h
h = 12

// 报错 Variable 'g' must be initialized
var g : String
println(g)

你可能感兴趣的:(Kotlin,kotlin,开发语言,android)