2-Kotlin中的变量

1、变量的定义

在程序运行期间,随时可能产生一些临时的数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。

这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。

Kotlin中的变量分为两种类型,分别是可变变量与不可变变量(只读变量),可变变量用关键字var来修饰,可以进行多次修改。不可变变量用关键字val来修饰,只能进行一次初始化。可变变量对应的是Java语言中的普通变量,不可变变量对应的是Java语言中用final关键字修饰的常量。

声明变量

语法格式:

var 变量名:数据类型

val 变量名:数据类型

var a:Int //声明一个Int类型的可变变量 
val b:String //声明一个String类型的不可变变量

给变量赋值

  • 声明变量的同时给变量赋值
var c:Int = 1

上述直接赋值变量的方式,可以省略变量的数据类型,Kotlin会根据变量的值自动识别变量的数据类型,其他类型的变量也一样

var c = 1

 

  • 声明变量和变量赋值可以分开设置
var d:Int d = 10

 

注意:

声明变量与给变量赋值时遇到的问题

(1)在不赋值的情况下,只声明变量不约束具体类型时,程序会报错

var c //只声明不约束具体类型会报错

(2)在同一方法体中,不能重复定义一个变量,否则编译器会提示命名冲突

fun main(args:Array<String>{ 
    var a:String //变量为String类型 
    //var a:String = "" 重复定义变量a会出错 
}

(3)可变变量可以多次赋值,不可变变量不可以进行二次赋值

fun main(args:Array<String>{ 
    var a:Int //可变变量a 
    val b:Int //不可变变量b 
    //可以多次给a变量赋值 
    a = 1 
    a = 2 
    a = 3 
    b = 1 
    //第一次给变量b赋值 
    //b = 2 第二次给变量b赋值,会报错 
}

 

2、变量的数据类型

Java语言中的数据类型包含基本数据类型和引用数据类型,其中基本数据类型包含数值型、字符型、布尔型,引用数据类型包括类、接口、数组、枚举、注解。

而Kotlin语言中的数据类型不区分基本数据类型和引用数据类型,分为数值型、字符型、布尔型、数组型、字符串型

数值类型变量

Kotlin中的数值类型与Java中数值类型相似,包括Byte(字节)、Short(短整型)、Int(整型)、Long(长整型)、Float(浮点型)、Double(双精度浮点型),只不过在Java中这些数值类型用小写字母表示,而在Kotlin中用首字母大写的形式表示。

布尔类型变量

布尔类型变量用于存储布尔值,在Kotlin中用Boolean表示,该类型的变量只有两个值,分别是true和false

字符类型变量

字符类型变量用于存储一个单一字符,在Kotlin中用“Char”表示。Kotlin中每个字符类型变量都会占用2个字节。在给Char类型的变量赋值时,需要用一对英文半角格式的单引号' '把字符括起来,如'k'

与Java不同的是,在Kotlin中Char类型的变量不能直接赋值为数字,必须使用单引号把数字括起来才可以进行赋值。

字符串类型变量

字符串类型变量用于存储多个字符,它与Java中的字符类型变量非常相似。字符串类型用“String”表示,在给String类型的变量赋值时,需要用一对英文半角格式的双引号""把字符括起来。

数组类型变量

在Kotlin中,如果想定义多个类型相同的变量,用常规的定义方式则需要定义多个变量,非常麻烦,为此Kotlin中提供了数组类型变量。数组是用Array表示,其中数值类型、布尔类型、字符类型都有数组的表现形式。这些数组类型变量的初始化有两种方式,一种是以“数据类型ArrayOf()”方法进行初始化,另一种是以arrayOf()方法进行初始化。

第1种方式

var int_array: IntArray = intArrayOf(1, 2, 3) 
var boolean_array: BooleanArray = booleanArrayOf(true, false, true) 
var char_array: CharArray = charArrayOf('a', 'b', 'c')

第2种方式

var int_array1: Array = arrayOf(1, 2, 3) 
var boolean_array1: Array = arrayOf(true, false, true) 
var char_array1: Array = arrayOf('a', 'b', 'c') 
var string_array: Array = arrayOf("Hello", "World", "!")

需要注意的是,在Kotlin中不能使用stringArrayOf()方法创建字符串类型数组,因为String不属于基本数据类型。要想在Kotlin中声明字符串数组,需要使用Array<String>,并且对应的初始化数组的方法也相应变成了arrayOf(),这种初始化方式对于其他类型的数组同样适用

在初始化数组类型的变量时,变量的数据类型同样可以省略,例如“var string_array=arrayOf("Hello","World","!")”。

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值