Android修行手册之Kotlin-【变量和常量】、【基础类型】、【字符串】篇

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单

👉前提

当前环境

2021年10月8日最新下载2020.3.1 Patch 2 版本

👉实践过程

😜变量和常量

可变变量定义:var 关键字

var <变量名> : <类型> = <初始化值>

不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

val <变量名> : <类型> = <初始化值>

变量可以不指定类型,系统自动判断。也可以没有初始值,但是使用前必须经过了初始化

val TempOne = "这是不可变变量"
var TempTwo = "这是可变变量"
var TempThree = "公众号:空名先生"
val TempFour: String = ""
复制代码

总之声明之前顺便有个初始化值就可。(难道靠强制写初始值避免空指针?)

当一个变量一旦有赋值后,她就自己类型推断出了类型,后续不能变化。比如一个变量初始值是数字,后续不能再对改变量赋值为字符串,也不能调用其他类型里面的方法。有一个类型除外【Any】类型

😜基础类型

虽然声明是【var】和【val】,但是Kotlin仍然有类型【Byte】、【Short】、【Long】、【Float】、【Double】和【String】、【Noolean】,还有个【Any】类型

var numberOne:Int? = 1
var numberTwo:Int? = 1
var numberThree = numberOne
Log.e("TAG", "芝麻粒儿输出7: 他们地址相等:" + (numberThree === numberOne))
//按照正常想法,这俩是不同的变量,应该不相等才对,结果输出的相等,作为疑问留待以后
Log.e("TAG", "芝麻粒儿输出7: 他们地址相等:" + (numberOne === numberTwo))
Log.e("TAG", "芝麻粒儿输出7: 他们地址相等:" + (numberThree === numberTwo))
Log.e("TAG", "芝麻粒儿输出7: 他们内容相等:" + (numberOne == numberTwo))
复制代码

//2021-10-13 10:30:42.460 31093-31093/cn.appstudy E/TAG: 芝麻粒儿输出7: 他们地址相等:true

//2021-10-13 10:30:42.460 31093-31093/cn.appstudy E/TAG: 芝麻粒儿输出7: 他们地址不等:true

//2021-10-13 10:30:42.460 31093-31093/cn.appstudy E/TAG: 芝麻粒儿输出7: 他们地址不等:true

//2021-10-13 10:30:42.460 31093-31093/cn.appstudy E/TAG: 芝麻粒儿输出7: 他们内容相等:true \

数组类型也是必不可少

var listOne = arrayOf(1, 2, 3)
        var listTwo = intArrayOf(1, 2, 3)
        var listThree = arrayListOf<String>()
        listThree.add("这是")
        listThree.add("数组")
        listThree.add("List")
复制代码

有数组则必然有循环读取,详情可看循环控制小节

😜字符串

字符串支持多行字符,利用【"””】三个双引号,但是多行的应用场景很少,小空开发好几款产品了也没用到过。

var strignOne = "公众号:"
var strignTwo = "空名先生"
if (strignOne.equals(strignTwo)) {
    Log.e("TAG", "芝麻粒儿输出6: 他们内容相等")
} else {
    Log.e("TAG", "芝麻粒儿输出6: 他们内容不等")
}


👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
492 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
Android开发 开发者 Kotlin
Android实战经验之Kotlin中快速实现MVI架构
MVI架构通过单向数据流和不可变状态,提供了一种清晰、可预测的状态管理方式。在Kotlin中实现MVI架构,不仅提高了代码的可维护性和可测试性,还能更好地应对复杂的UI交互和状态管理。通过本文的介绍,希望开发者能够掌握MVI架构的核心思想,并在实际项目中灵活应用。
666 8
|
编译器 Android开发 开发者
Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
Lambda表达式和匿名函数都是Kotlin中强大的特性,帮助开发者编写简洁而高效的代码。理解它们的区别和适用场景,有助于选择最合适的方式来解决问题。希望本文的详细讲解和示例能够帮助你在Kotlin开发中更好地运用这些特性。
439 9
|
JavaScript Java Kotlin
Kotlin - 常量与变量
Kotlin - 常量与变量
115 9
|
JavaScript Java Kotlin
Kotlin - 常量与变量
Kotlin - 常量与变量
|
JavaScript Java Kotlin
Kotlin教程笔记(5) - 常量与变量
Kotlin教程笔记(5) - 常量与变量
133 2
|
JavaScript Java Kotlin
Kotlin - 常量与变量
Kotlin - 常量与变量
164 6
|
JavaScript Java Kotlin
Kotlin教程笔记(5) - 常量与变量
Kotlin教程笔记(5) - 常量与变量
184 2
|
JavaScript Java Kotlin
Kotlin开发笔记 - 常量与变量
Kotlin开发笔记 - 常量与变量
191 2
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
595 1