android kotlin变量声明,Android Kotlin 从0到1 之 变量,属性的使用

首先从基本类型开始:

与java相比像integer,float或者boolean等类型仍然存在,但是它们全部都会作为对象

存在的,既然是对象,从命名就可以知道,以后使用首字母都会变成大写的,这个你待会会看到。在这里与java不同的还有所有的数字类型,都不会自动转型,必须要做一个明确的类型转换

val i:Int=7

val d: Double = i.toDouble()

val c: Char='c'

val i: Int = c.toInt()

val s: String = "Hello Word"

val s1 = "Hello Kotlin"

var c1:Char = s1[1]

从上面的代码片段可以看到,定义一个变量的方式与之前也不一样了

val /var 分别代表了不可变量,变量(val与java 中的final 非常相似)

格式也变成了 (变量名称:类型 = 值) 这是标准的写法,

也可以(变量名称:值) 如: val s = "abc" 这里编译时会对变量s做一个类型的预测,也就是说系统会自动帮我们指定一个它认为匹配的类型。

在kotlin中String 类型可以直接被当做一个字符数组来访问,遍历(这里不演示了自测吧)

String 还有字符串模板

字符串可能包含模板表达式,即被评估的代码片段,其结果连接到字符串中。

模板表达式以美元符号($)开头,由简单名称组成:

val i = 10val s = "i = $i" // evaluates to "i = 10"

或大括号中的任意表达式:

val s = "abc"val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"

关于不可变在Kotlin(和其它很多现代语言)中是一个很重要的概念。

一个不可变对象意味着它在实例化之后就不能再去改变它的状态了。如

果你需要一个这个对象修改之后的版本,那就会再创建一个新的对象。

这个让编程更加具有健壮性和预估性。在Java中,大部分的对象是可变

的,那就意味着任何可以访问它这个对象的代码都可以去修改它,从而

影响整个程序的其它地方。不可变对象也可以说是线程安全的,因为它

们无法去改变,也不需要去定义访问控制,因为所有线程访问到的对象

都是同一个。所以在Kotlin中,如果我们想使用不可变性,我们编码时

思考的方式需要有一些改变。一个重要的概念是:尽可能地使用 val 。

位运算符:

位运算也有一点不同。在Android中,我们经常使用‘&’,‘|’ 在这里被分别 and,or 代替:

// Java

int bitwiseOr = FLAG1 | FLAG2;

int bitwiseAnd = FLAG1 & FLAG2;

// Kotlin

val bitwiseOr = FLAG1 or FLAG2

val bitwiseAnd = FLAG1 and FLAG2

其他类型基本没什么变化!

接下来是属性,我们可以在代码中创建一个类

860527fb487f

image.png

860527fb487f

image.png

接下来你会得到一个类尝试编写一个属性,并调用

在你创建的类中添加下行代码():

val name : String = "test name"

可以试着在我们的MianActivity 中调用,顺便使用一下字符串模板:

/*----- 属性的调用 ----*/

val name = Person().name

Toast.makeText(this,"$name.length is ${name.length}",Toast.LENGTH_SHORT).show()

从上面的代码我们通过Person().name 得到了Person 类中name的值,并创建了一个字符串来接收(如果没有任何指定,属性会默认使用getter和setter,所以不要疑惑跟java的public属性区别)

,最后通过Toast 将字符串以模板的方式输出。看结果

860527fb487f

image.png

有图有真相,属性调用成功,而且使用模板爽了一把!!

下一篇:类,函数的使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值