kotlin成神之路Android知识Java学习笔记

Kotlin学历之基础

2017-06-08  本文已影响281人  i校长

命名规范

学习基础之前首先声明下命名规范,这样有利于别人阅读你的代码。

1.使用驼峰法命名(并避免命名含有下划线)

2.类名以大写字母开头

3.方法和属性以小写字母开头

4.使用 4 个空格缩进

基本类型

我们回顾下Java的基本类型并与之做个对比,java中有基本数据类型和引用类型,在kotlin中所有的东西都可以看成对象,可以理解为java中的引用类型,这就意味着在kotlin中的基本类型是可以调用函数和属性的。下面具体理解一下kotlin中的基本类型:数字,字符,布尔,数组

数字

首先声明一点,在kotlin中是不会像java一样有自动类型转换。主要类型有:

Double    64bit

Float        32bit

Long        64bit

Int            32bit

Short        16bit

Byte          8bit

回忆类名以大写字母开头,这里的数字类型都是以对象的形式存在的。既然不能自动转换,那在kotlin中是如何转换呢?下面举例:

例1: 整型值转Double

val i: Int = 7

val d: Double = i.toDouble()

例2:字符转Int

val i: Char='b'

val d: Int= i.toInt()

在声明数字类型的时候用法跟java差不多,比如Long 类型用大写L标记:123L,Float 用f或者F标记:123.5f 

在实际声明数字变量中是可以不声明类型的,这点编译器会自己去推断出具体的类型,如下:

val i = 2 //Int 类型

val b = 3L // Long

val c = 5.2 // Double

字符

字符字面值用单引号括起来:'1'。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、\b、\n、\r、\'、\"、\\和\$。 编码其他字符要用 Unicode 转义序列语法:'\uFF00'。

例如:

val a = '1'

val b = 2.toChar()

布尔

布尔用Boolean类型表示,和java一样有两个值:truefalse

同样可以 用 &&  、||、 !  运算。

数组

数组在 Kotlin 中使用Array类来表示,它定义了get和set函数(按照运算符重载约定这会转变为[])和size属性,可以使用库函数arrayOf()来创建一个数组并传递元素值给它,这样arrayOf(1, 2, 3)创建了 array [1, 2, 3]。 或者,库函数arrayOfNulls()可以用于创建一个指定大小、元素都为空的数组。

例如:

val a = arrayOf("Hello","world")

var nullArray: Array<String?> = arrayOfNulls(2) // a = [null, null]

val  squares = Array ( 10 , { i -> (i+1)*(i+1) } )// squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

看到第三个表达式有点蒙圈了,Lambda 也不会呀,仔细比对了一下,10是数组大小,i是数组索引值:

当等于0时,1*1=1

等于1时 2*2=4  

等于2时 3*3=9

明白了吧= =,还有kotlin的函数 是可以传函数作为参数的,简称高阶函数,前面说了kotlin中任何东西都可以看作是对象,传个函数又有啥奇怪的= =,以后再细说高阶函数,保证你用了之后就再也不想用java了

Kotlin 也有无装箱开销的专门的类来表示原生类型数组:ByteArray、ShortArray、IntArray等等。这些类和Array并没有继承关系,但是它们有同样的方法属性集。它们也都有相应的工厂方法:

val  x :  IntArray = intArrayOf(1,2,3)

x[0] = x[1] + x[2]

更有趣的是,字符串可以直接像数组一样访问:

val str = 'abcdefg'

val s = str[2] // 结果等于 'c'

//还可以直接遍历

for ( a in str) {

        print(a) 

}

总结

本次学习的是kotlin中的基本类型,和一些常见的用法,内容简陋似苍蝇肉,想要学更多推荐官网学习:官网地址 进入下一章节

上一篇 下一篇

猜你喜欢

热点阅读