初识Kotlin
来源:互联网 发布:勇者斗恶龙java代码 编辑:程序博客网 时间:2024/06/07 00:08
导读
Kotlin是Google官方推出的Android开发语言,有了之前Android Studio的前车之鉴。毫无疑问无论是因为对新技术的好奇,还是因为Kotlin有一个强大的爹。Kotlin都是值得我们去学习的。所以让我们开始学习Kotlin。
Kotlin官方中文网站:https://www.kotlincn.net/
Kotlin基础学习
Kotlin内置类型表示数字
字面常量
Kotlin新颖的数字常量表示方式
val oneMillion = 1_000_000 //输出还是1000000val creditCardNumber = 1234_5678_9012_3456Lval socialSecurityNumber = 999_99_9999Lval hexBytes = 0xFF_EC_DE_5Eval bytes = 0b11010010_01101001_10010100_10010010
我们在官方文档会发现val 用来声明变量
val x: Int? = null #变量类型+?声明的是可空的val y: Int = null #这样写是错误的,初始化不能为空
表示方式
在官方文档中有这么一段:
注意数字装箱不必保留同一性:val a: Int = 10000print(a === a) // 输出“true”val boxedA: Int? = aval anotherBoxedA: Int? = aprint(boxedA === anotherBoxedA) // !!!输出“false”!!!
博主就想如果a声明为可空会怎样也就是val a: Int? = 10000
val a: Int? = 10000print(a === a) val b: Int? = aval anotherb: Int? = aprint(b===anotherb)
结果
博主未弄懂为什么产生这样的原因,有人知道可以解释一下。
显式转换
Kotlin不支持较小的类型* 隐式 *的转化为较大的类型
val b: Byte = 1 // OK, .琌....val i: Int = b // ..
但是给出了显示转化函数
并且
val l = 1L + 3 #可以通过
运算
Kotlin⽀持数字运算的标准集,运算被定义为相应的类成员(但编译器会将函数调⽤优化为相应的指令)。
val x = (1 shl 2) and 0x000FF000 #运行结果为0
shl(bits) ‒ 有符号左移 (Java 的 << )
shr(bits) ‒ 有符号右移 (Java 的 >> )
ushr(bits) ‒ ⽆符号右移 (Java 的 >>> )
and(bits) ‒ 位与
or(bits) ‒ 位或
xor(bits) ‒ 位异或
inv() ‒ 位非
相等性检测:a == b 与 a != b
比较操作符:a < b 、 a > b 、 a <= b 、 a >= b
区间实例以及区间检测:a..b 、 x in a..b 、 x !in a..b
这里博主想了一下如果代码改成print(z in x..y)会是什么结果
结果false了- -
数组
Kotlin的数组创建很新颖
我们可以使.库函数 arrayOf() 来创建.个数组并传递元素值给它,这样 arrayOf(1, 2, 3) 创建了 array [1, 2, 3]。 或者,库函数
arrayOfNulls() 可以.于创建.个指定..、元素都为空的数组。
另.个选项是.接受数组..和.个函数参数的..函数,.作参数的函数能够返回给定索引的每个元素初始值:
// 创建.个 Array 初始化为 [“0”, “1”, “4”, “9”, “16”]
val asc = Array(5, { i -> (i * i).toString() })
解析: i分别取 0,1,2,3,4
Array可以创建不同类型的数据在同一个数组
例如
val x: Array<any> = arrayof(1,'a',2)
字符串
字符串可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符(
或者⽤花括号括起来的任意表达式:
val s = “abc”
val str = “
原⽣字符串和转义字符串内部都⽀持模板。 如果你需要在原⽣字符串中表⽰字⾯值
“”“
个人感觉用来解决字符串和变量拼接的问题
欢迎提建议,大家共同交流,共同进步
- Kotlin初识
- 初识kotlin
- 初识Kotlin
- Kotlin初识
- 初识Kotlin(一)
- 初识Kotlin(二)
- 初识Kotlin(一) Kotlin环境搭建
- 初识Kotlin及环境搭建
- Android 开发之初识Kotlin
- 初识kotlin—2、数据类型
- 初识Kotlin——语法简介
- (Kotlin1)初识Kotlin编程语言
- 初识kotlin-Android Studio-小新
- 学习笔记之——初识Kotlin
- 初识kotlin—3、控制语句
- 初识kotlin—4、方法和对象
- 初识kotlin,实现一个简单的列表
- 初识Kotlin新的安卓编程语言
- IE9- 图片|遮挡|绝对|定位|元素的|解决|办法
- jQuery事件对象的作用(利用冒泡事件优化)
- C#--基于三层架构的应用实战
- 浅析互联网广告
- 一种线程同步共享链表的方式----waitlist
- 初识Kotlin
- javascript快速初始化数组
- 判断是否是素数
- PAT 1095. Cars on Campus (30)
- 矩阵倒置
- dubbo没有服务提供者错误 No provider available for the service
- A query was run and no Result Maps were found for the Mapped Statement
- 《C++ Primer》读书笔记第六章-1-函数基础 And 参数传递
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi