美文网首页
3.数据类型

3.数据类型

作者: 学吉他的袁先生 | 来源:发表于2020-07-28 10:34 被阅读0次

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)

相关文章

  • 3.数据类型

    php字符串可以使用哪三种方式定义,以及各自的区别是什么? 定义方式 单引号 双引号 herdoc与newdoc ...

  • 3.数据类型

    1.Boolean数据类型 true,false 2.Number数据类型 3.Char数据类型与String数据...

  • 3. 数据类型 —— 数字

    数字属于标量存储、不可改变、直接访问的数据类型。数字同样包括多种数字类型:整型、浮点型、布尔型、复数等。 1. 创...

  • javascript面试题

    数据类型 1.有哪几种数据类型 2.说说基本数据类型和引用数据类型的不同 3.如何检测数据类型 4.如何检测对象,...

  • 1java基础知识

    1. jvm jre jdk 嵌套关系 2.数据类型 引用数据类型 简单数据类型字节布尔... 3.驼峰命名法 开...

  • jsday02

    今天学了什么 数据类型 1.简单数据类型 2.字符串拼接 3.数据类型转换 4.运算符

  • 数据库探索之旅——数据类型

    目录 1. 何为数据类型2. 数据类型列表3. 用户自定义数据类型4. 数据类型优先级 在学习基本表之前,需要先了...

  • SQL常用数据类型

    完整数据类型参考:MySQL 数据类型 | 菜鸟教程 1.常用数据类型: 2.字符串类型 3.日期和时间类型: 注...

  • JS基础:基本语法

    目录一. 常量与变量 1. 常量 2. 变量二. 数据类型 1. 概述 2. 基本数据类型 3. 对象数据类型 4...

  • python基础B

    列表数据类型 字典数据类型 字符串操作 列表数据类型 1.列表 2.利用下标获取列表中的单个值 3.列表可以表示多...

网友评论

      本文标题:3.数据类型

      本文链接:https://www.haomeiwen.com/subject/vyoxrktx.html