小白Kotlin入门(一)

我也来加入kotlin的推广运动中,相信2020年Android开发基本基本实现kotlin化,哈哈
这里写图片描述

Kotlin是什么

Kolin就是一门可以运行在java虚拟机、Android、浏览器上的静态语言它与java100%兼容,如果你对java非常熟悉,那么你就会发现Kolin除了自己标准库之外,大多仍然使用经典 Java集合框架。

Kotlin数据类型

这里写图片描述

Boolean数据类型

声明Boolean变量
val myBoolean :Boolean = true
变量名 :类型 = 赋值

Number类型

val score :Int = 8
val score: Long = 1231231231231
val score:Float = 2.0F
val score:Double = 2.0
val score:Short = 127
val byte:Byte = 127

char字符类

val myChar :Char = ’ 我 ‘

拆箱和装箱

Kolin里面的拆箱和装箱时自动转换的,不用操心。

转义字符表如下
这里写图片描述

基本数据类型的转换

1、不可以隐式转换
val score:Int = 5
在java的角度上,是可以隐式转换的,在正常的情况下大范围Long兼容小范围Int。
val newScore:Long = score (错误)
在kotlin角度上,是不可以隐式转换的,需要我们.toLoing一下
val newScore:Long = score.toLong()(正确)

String字符串

val hehe:String = “helloworld”

比较两个字符串是否相等

在java上是用.equals,但是在kotlin上直接==就可以了。
===三个等于号是代表比较的是对象的引用值。

字符串输出特点,使用字符串模板

val arg1:Int = 1
val arg2:Int = 2
print(“ a r g 1 + arg2=${arg1+arg2}”)
以前的写法就不列举出来了,因为大家都知道,着是新的写法。

字符串转义

转义方面除了正常的斜杠 \方法之外,也可以有一下方法
val myString:String =”“” \t\y\n “””
这就是三个双字符方法

生命类

class woman(val sex:String ,val age:Int,val name:String){
        init{
            构造方法
            }
}

new 对象
val nv:woman = woman(“男”,12,”婷婷”)

空类型和智能类型转换

空类型

任意类型都有可空和可不空的两种
val me:String =null //(错误,不能为空)
val me1:String?=null//(正确,可以为空)
me.length//正确,不为空的值可以直接使用
me1.length//错误,可能存在为空,不能直接获取长度
me1!!.length//强制认定me1不可以为空
me1?.length//正确,若me1为空,返回空

智能类型转换

java Style类型转换

val sub:subClass = parent as SubClass
类似于java的类型转换,失败抛异常。

安全类型转换

val sub:SubClass?=parent as?SubClass
如果转换失败返回null,不抛异常

智能类型转换

if(parent is SubClass)parent.<子类成员>
编译器可以自动推导类型,避免无用转换。
if(me!=null)me.length
正确的,因为我们确认me不等于空

区间(Range)

ClosedRange的子类,IntRange最常用
基本写法:
0..100表示[0,100]
0 until100表示[0,100)
i in 0..100判断i是否在区间[0,100]中

数组(Array)

数组的使用方法

基本写法:

val array:Array<String> = arrayOf(...)

基本操作

array[i]第几个成员,从0开始的
array[i]="我"给第i个成员赋值
array.length数组长度

基本类型数组

为了避免不必要的装箱和拆箱,基本类型的数组定制
这里写图片描述

以上就是kotlin的相关数据类型,如果有异议欢迎一起讨论。。

猜你喜欢

转载自blog.csdn.net/u013933720/article/details/79743192