3.数据类型

1.Boolean数据类型

true,false

var loading:Boolean=true
var upload:Boolean=false

2.Number数据类型

image
var maxDouble: Double= Double.MAX_VALUE
var maxFloat: Float = Float.MAX_VALUE
var minLong: Long = Long.MIN_VALUE
var maxInt: Int = Int.MAX_VALUE
var maxShort: Short = Short.MAX_VALUE
var maxByte: Byte = Byte.MAX_VALUE

3.Char数据类型与String数据类型

var aChar: Char = '0'
var string: String = "HelloWorld"

kotlin中==相当于java中equal
kotlin中===相当于java中的==
kotlin支持字符串模板

var append:String="append$string"

kotlin支持"""""",此字符串支持换行

var text="""ceshi"""

4.拆箱装箱

kotlin中Int相当于java中的基本数据类型int跟装箱类型Interger的合体,当需要的时候自动帮我们选择。类似Double,Float等
kotlin不再区分装箱跟非装箱类型

5.基础类型转换

java代码

int anInt=8;
long aLong=anInt;

kotlin代码

val anInt: Int = 8
val aLong: Long = anInt.toLong()

kotlin不可隐式转换

6.类和对象

class 对象(性别:String,长相:String,性格:String)
var 女朋友=对象(性别="女",长相 = "甜美",性格 = "温柔")

kotlin不需要new

open class 人(var 性格: String, var 长相: String, var 声音: String)

open字段修饰class 意味该类可以被其他类继承
kotlin中Any是所有类的父类

7.空类型

任何类型都有可空和不可空两种

val textNull: String ?= null
var testNotNull:String=""

空类型跟智能类型转换是kotlin所特有的
下面的代码在kotlin中报错

fun getName(): String{
    return null
}

这样写不报错

fun getName(): String?{
    return null
}

kotlin在对象以及方法声明的时候就要确定是否可为空类型

var person:Person?=null

在调用可空对象的属性以及方法时候可用以下两种方法

person?.age

如果person为空返回null,不会报错。如果person不为空返回age
此种情况适合不确定该对象是否为空

person!!.age

如果person为空,报错kotlin.KotlinNullPointerException
此种方法适合知道该对象肯定不为空

8.智能类型转换

java中类型转换

Parent parent=new Parent();
if(parent instanceof Child){
((Child)parent).getName().length();
}

if 里面已经判断过类型了,为什么调用的时候还需要再次强转
kotlin类型转换就显得比较智能了

val parent= Parent()
if(parent is Child){
      parent.name.length
}

kotlin中的强转操作符 as

val child: Child? = parent as? Child

当类型不对的时候,child返回null,不会像java那样报类型转换异常

9.包

kotlin支持 import …… as ……
场景 当一个类中引入一个以上相同类名的外部类
java代码

Child child=new Child();
com.xdja.jwt.myapplication.datatype.helloworld.Child child=newcom.xdja.jwt.myapplication.datatype.helloworld.Child();

kotlin代码

import com.xdja.jwt.myapplication.datatype.helloworld.Child as ChildTwo
var child=Child()
var child2=ChildTwo()

10.区间

区间是数学上的一个概念,表示范围
CharRange,ComparableRange,IntRange,LongRange 他们实现的共同接口ClosedRange
基本写法
0..100表示[0,100]
0 until 100 表示[0,100)
i in 0..100 判断i是否在区间[0,100]中
初始化区间

val range: IntRange = 0..1024 // [0, 1024]
val range_exclusive: IntRange = 0 until 1024 // [0, 1024) = [0, 1023]

区间的遍历

for(i in range){
   print("$i, ")
}

11.数组

kotlin内置ByteArray,CharArray,ShortArray,IntArray,LongArray,FloatArray,DoubleArray,BooleanArray
初始化

val arrayOfInt: IntArray = intArrayOf(1,3,5,7)//intArray
val arrayOfChar: CharArray = charArrayOf('H', 'e','l','l','o','W','o','r','l','d')
val arrayOfString: Array<String> = arrayOf("hello", "world")

赋值

arrayOfInt[1]=3

遍历

for(int in arrayOfInt){
   println(int)
}

kotlin还对数组扩展了一些方法,如

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