首先先对KotLin进行介绍:

KotLin是由JetBrains设计的开放源码的编程语言,它正在java开发者中变得越来越流行。KotLin通常被吹捧为Java的继承者,相比较Java而言,KotLin提供更为丰富的开发经验,因为它更现代,更具有表现力和更简洁。

如果你在寻求Android开发的可替代编程语言,那么应该试一下KotLin。使用KotLin,你可以很容易的在Android工程中替代Java或者与Java混合使用。

正文:

在KotLin,一切都是在这个意义上,我们可以调用成员函数和属性的任何变量对象。有些类型是内置的,因为它们的实现是优化的,但对用户看起来像普通的类。在本节中我们描述这些类型:数字、字符、布尔值和数组。

Numbers

KotLin处理数字的方式接近java,但又不完全相同。例如,不存在扩大转换为数字和文字在某些情况略有不同。
KotLin提供以下内置类型代表数字(这是接近java)


注意,字符不是数字在KotLin

字面常量

Long类型通过大写字母L来表示:123L

十六进制:0x0F

二进制:0b00001011

注意:八进制不支持

KotLin也支持传统类型的Float、Double类型:

默认情况是Double类型:123.5,123.5e10

Float类型通过f或者F表示:123.5f

例子:

val a: Int = 10000        print(a === a) //打印为true        val boxedA: Int? = a //?=意味着boxedA可以为空        val anotherBoxedA: Int? = a        System.out.println(boxedA === anotherBoxedA) //打印为false
val a: Int = 10000        print(a == a) // 打印true        val boxedA: Int? = a        val anotherBoxedA: Int? = a        print(boxedA == anotherBoxedA) // 打印true
“==”与“===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等,由上面可知boxedA和anotherBoxedA指向的是不同的对象

显示转化

注意:较小的类型不是更大类型的子类型

val a: Int? = 1         val b: Long? = a // 编译出错,Int类型
因此,较小的类型是不隐式转换为更大的类型。这意味着,我们不能没有明确指定一个byte类型的值转换为int型变量

val b: Byte = 1         val i: Int = b // 错误
我们可以显示转化为更大的类型
val b: Byte = 1        val i: Int = b.toInt() // 正确
每个数字类型都支持转化

  • toByte(): Byte
  • toShort(): Short
  • toInt(): Int
  • toLong(): Long
  • toFloat(): Float
  • toDouble(): Double
  • toChar(): Char
隐式转换的缺失是因为很少引人注目的类型是从上下文中推断,和算术运算重载相应的转换,例如

 val l = 1L + 3 // Long + Int => Long <span style="font-family: Arial, Helvetica, sans-serif;">//正确</span>

运算:

val x = (1 shl 2) and 0x000FF000
这里是按位运算的完整列表(只在Int和Long可用)

  • shl(bits)– signed shift left (Java’s<<)
  • shr(bits)– signed shift right (Java’s>>)
  • ushr(bits)– unsigned shift right (Java’s>>>)
  • and(bits)– 位与
  • or(bits)– 位或
  • xor(bits)– 位异或
  • inv()– 位取反

Characters

    fun decimalDigitValue(c: Char): Int {        if (c !in '0'..'9')//c不再0到9字符范围内,则抛出异常            throw IllegalArgumentException("Out of range")        return c.toInt() - '0'.toInt() // 显示转化为数字    }
注意:像数字、字符如果使用了需要可以为空的表达式则不能调用方法

Booleans

这个Boolean类型只有两个属性:true和false

Arrays

生成数组两种方法:
val arr = Array(5,{i->(i)})//第一种        val arr1 = arrayOf(1,2,3)//第二种
KotLin也有专门的类来表示原始类型数组没有额外开销: ByteArray , ShortArray , IntArray等等

Strings

val str : String = "Andly"        for (c in str) { //循环对str字符串遍历            System.out.println(c)        }
字符串模板

字符串中也可以有表达式,只需要在表达式前面加上$

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

${'$'}9.99 //打印之后是:$9.99

更多相关文章

  1. osg for android 学习之十:注意事项
  2. Android基础教程(八)之仿百度谷歌搜索自动提示框-----AutoComple
  3. Kotlin~基本语法
  4. Android(安卓)EditText限制输入字符的5种实现方式
  5. Android存储之SharedPreferences
  6. android 集合与json之间的相互转换
  7. Android(安卓)AES加密工具类分享
  8. Android(安卓)gradle配置
  9. Android适配器Adapter的学习

随机推荐

  1. Android: ViewPager and Fragments
  2. Android(安卓)模拟器快捷键
  3. android 自定义控件(FloatLabelLayout)
  4. Android自定义控件
  5. android_ndk_jni_cygwin环境
  6. 【Android(安卓)Studio】Gradle Plugin U
  7. Android(安卓)Material Design 实践(一)
  8. Android(安卓)代码混淆异常 transformCla
  9. Android(安卓)tricks: the ideal way to
  10. 一个简单的例子让你彻底了解android 中Ac