Kotlin(二)变量、常量、类型

1.数据类型

java中有8中基本数据类型byte、short、int、long,float、double,char、boolean。

对应的有8中包装类,或者引用类型。Byte、Short、Int、Long、Float、Double、Character、Boolean。

在kotlin中,没有基本数据类型,只有8种引用数据类型。

Byte、Short、Int、Long、Float、Double、Char、Boolean。

    var byte:Byte=8
    var short:Short =16
    var int: Int = 32
    var long:Long = 64

    var float:Float = 32.0f
    var double:Double = 64.0

    var char:Char = 'c'
    var b :Boolean = true

 虽然我们在声明时只能声明为引用数据类型。但是Kotlin编译器会把他们编译成基本数据类型。

    LOCALVARIABLE b Z L8 L9 9
    LOCALVARIABLE char C L7 L9 8
    LOCALVARIABLE double D L6 L9 6
    LOCALVARIABLE float F L5 L9 5
    LOCALVARIABLE long J L4 L9 3
    LOCALVARIABLE int I L3 L9 2
    LOCALVARIABLE short S L2 L9 1
    LOCALVARIABLE byte B L1 L9 0

 查看Kotlin编译后字节码的方法:

 1)两次Shift键,输入show kotlin。

  2)也可以tools--Kotlin--show kotlin byteCode

2.变量的声明:

  关键字   变量名 类型      赋值
  var     name:String = "xiaohua"

3.关键字var和val

   var 声明的变量可以修改。val声明的变量不可以修改。

    val name:String ="xiaohua"
    
    var age:Int = 20
        age+=1

4.类型推断。

  对于已经声明并赋值的变量,在编码阶段可以不指定数据类型,编译器会自动推断其数据类型,在编译后的字节码中给变量指定类型。

  上面声明的name age,可以写成以下形式,编译器也不会报错的。

  var name = "xiaohua"
  var age = 20

5.编译时常量

MAX就是定义的一个常量。

1)编译时常量只能定义在函数之外。因为编译时常量必须在编译时赋值。而函数都是在运行时才调用。

2)编译时常量只能是基本数据类型。

const val MAX = 100
fun main() {
    var a = MAX
}

6.数组的声明:两种方式

  1)一种是使用函数arrayOf()。比如声明一个int数组

val arr = arrayOf(1, 2, 3)

  2)另外一种是使用工厂函数。

  //Array函数,第一个参数是数组长度,第二个参数跟一个表达式。
    val arr = Array(3, { i -> i })
    //遍历数组
    for(item in arr){
        println(item)
    }

你可能感兴趣的:(Kotlin,kotlin)