Kothlin

kotlin基本类型

2019-05-28  本文已影响0人  覆水无言

基本数据类型

基本数据类型包括数字、字符、布尔值、数组与字符串

一:数字

kotlin提供的数字类型与Java很接近,但是kotlin对数字没有隐式转换(eg:int可隐式转换为long),
其中某些字面值也有所不同
kotlin内置的数字类型如下

type bit width
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

这里Int相当于Java中的int.

1.1:使用

//常用数字的字面量
var a: Int = 1
var l : Long = 123L    //使用L后缀标记
var f: Float = 123.5f   //使用f后缀标记
var d = 12.4   //默认为Double

注意:kotlin中可以使用下划线使你的数字字面量更易读

var l: Long = 1_000_000L  //这个和1000000L是一样的

1.2:显示转换

Java中数字较小类型可以隐式转换为较大的类型,但kotlin由于表达方式的不同无法实现隐式转换,kotlin
为我们提供了显示转换。每个数字类型支持以下转换

val a = 1L + 1  //a上下文推断为Long类型  Long+Int ->Long

1.3:运算

1.3.1:相等

相等性检测 a==b a!=b, 与Java一样

1.3.2:比较操作

< , >, <= , >= 操作符与Java一致

1.3.3:区间判断

x in a..b
x !in a..b

1.3.4:位操作

位运算只用与Int和Long

操作符 作用
shl 有符号左移,相当于Java中的<<
shr 有符号右移 ,相当于Java中的>>
ushr 无符号右移,相当于Java中的 >>>
and 位与
or 位或
xor 位异或
inv 位非
val x = (1 shl 2) and 0x000FF000

二:字符

字符为Char类型,用单引号声明

val a: Char = 'a'

注意:特殊字符需要转义,这与Java一样

三:布尔

布尔用Boolean表示,有true false, 若需要可空引用布尔会被装箱

1.1:布尔运算

操作符 作用
逻辑或
&& 逻辑与
逻辑非

四:数组

在kotlin中使用Array类表示,它定义了get,set函数,以及size属性。
我们可以使用库函数arrayOf()或者arrayOfNulls()来创建数组,

var a = arrayOf(1,2,3)   //创建一个数组
var b = arrayOfNulls(1,2,3)     //创建一个非空数组,所有元素非空
val asc = Array(5) { i -> (i*i).toString() }
asc.forEach{ pringln(it) }

注意:与Java不同kotlin中数组里的类型是不可变的,
kotlin中有无装箱操作的专门的原生类型数组,使用ByteArray、 ShortArray、IntArray等生成。

五:字符串

字符串使用String类型表示,字符串是不可变的,字符串可以使用[]索引访问。

var a: String = "abc"
for (x in a){  println(x) }

可以使用+连接字符串,这里与Java一致。

1.1:字面量

kotlin字符串面值分为转义字符串和原始字符串。

val s = "tian\n"
val s = """
    for (c in s) {
        println(c)
    }"""      //这里输出s,就会把字符原始输出

1.2:字符串模板

字符串可以包含模板表达式,即一小段代码,模板以$符号开头。

val i = 10
println("i = $i")      //$后跟一变量,输出就代替为变量的值, i=10
println("i = ${ i * i}")   //$后跟一模板表达式,需要使用{}括起来
上一篇 下一篇

猜你喜欢

热点阅读