Kotlin学历之基础

命名规范

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

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中的基本类型,和一些常见的用法,内容简陋似苍蝇肉,想要学更多推荐官网学习:官网地址 进入下一章节

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容