从零开始学Kotlin-数据类型(2)
从零开始学Kotlin基础篇系列文章
基本数据类型
- Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等;
数据-------位宽度
Double-----64
Float------32
Long-------64
Int--------32
Short------16
Byte-------8
- 常量表示(不支持8进制)
十进制:520
长整型以大写的 L 结尾:5201314L
16 进制以 0x 开头:0x0F
2 进制以 0b 开头:0b00001011
- 为了使数字易读,Kotlin中可以使用如下形式表示数字
8_888_888
888_888_888_888_888L
0xFF_EC_DE_5E
0b01001001_11000011_11111111
基本数据类型转换
- 较小的类型不能隐式转换为较大的类型,可以通过显示转换
var a:int=10;//定义一个Int数据
var b:Long=a;//Int不能直接转换为Long型
var b:Long=a.toLong()//可以通过显示转换
- 几种类型转换方法
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
字符串
- 定义字符串
var name="SiberiaDante"
- Kotlin支持多行字符串
val textContent="""
第一行文字
第二行文字
第三行文字
"""
- 字符串拼接,$表达式
al name1 = "Siberia"
val name2 = "Dante"
val name = "My name is:$name1$name2"
print(name) //输出结果:My name is SiberiaDante
val nameLength = "$name 的长度是:${name.length}"
print(nameLength) //输出结果:SiberiaDante 的长度是:12
字符
- 在Kotlin中,字符不能直接和数字一起操作,字符必须使用单引号括起来,如:'A','B';
var charStr: Char = '1'
if(charStr==1)//不能和数字比较,错误
if(charStr=='1')//正确
- 可以把字符显示转换为数字,再进行比较
val charStr = '1'
if (charStr in '0'..'9') {
var result = (charStr.toInt() == 1)
}
布尔类型
- 布尔用 Boolean表示,它有两个值:true 和 false。两个Boolean类型的数值的逻辑比较跟Java一样
var result:Boolean
var isTure=true
数组
- 定义一个基本的数组
val arr= arrayOf(1,2,3,4,5)//[1,2,3,4,5]
var arr1:IntArray= intArrayOf(1,2,3,4,5)//[1,2,3,4,5]
val arr2 = Array(5, { i -> (i * 2) })//[0,2,4,6,8]
- 除了类Array,还有ByteArray, ShortArray, IntArray,用来表示各个类型的数组,省去了装箱操作,因此效率更高,其用法同Array一样:
关注我-Github-https://github.com/SiberiaDante
从零开始学Kotlin-数据类型(2)的更多相关文章
- 从零开始学Kotlin第七课
1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在to ...
- 从零开始学Kotlin第六课
Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...
- 从零开始学Kotlin第四课
面向对象: //妹子 性格 声音 class Girl(var chactor:String,var voice:String) fun main(args: Array<String>) ...
- 从零开始学Kotlin第三课
kotlin函数和函数式表达式的简化写法: fun main(args:Array<String>) { var result=add(2,5) println(result) ///简化 ...
- 从零开始学C#——数据类型(三)
C#数据类型 在C#中,变量分为以下几种类型: 值类型 引用类型 指针类型 值类型 值类型变量可以直接分配给一个值,他们是从类System.ValucTpyc中派生. 值类型直接包含数据,比如int. ...
- Java从零开始学四(数据类型)
一.Java数据类型划分 二.基本数据类型 No. 数据类型 大小/位 可表示的数据范围 1 long(长整数) 64 -9223372036854775808 ~ 92233720368547758 ...
- 从零开始学Kotlin第一课
Kotlin的方法: 一个简单的计算器: fun main(args:Array<String>){ //主函数main方法 var a=8; var b=9; println(plus( ...
- 从零开始学Kotlin第五课
函数式编程入门: package EL fun main(args: Array<String>) { var names= listOf<String>("tom& ...
- 从零开始学Kotlin第二课
字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } // ...
随机推荐
- zabbix_windowsagent_cpu
zabbix的WEB端--配置-模板--Template OS Windows--项目--创建项目 名称:UserPerfCountercpu 键值:UserPerfCountercpu 数据类型:数 ...
- cenos6.5 python2.6.6升级至python2.7.3
踩坑无数... 一.参照以下两篇博文把python升级至python2.7.3 https://www.cnblogs.com/senzhe/p/6322214.html http://www.jb5 ...
- 关于Netty Pipeline中Handler的执行顺序问题
原文地址:http://blog.csdn.net/wgyvip/article/details/25637651 最近在学习Netty框架,根据官网的教程学着做了几个小测试,都成功了,后面开始试着写 ...
- 使用docker搭建hadoop环境,并配置伪分布式模式
docker 1.下载docker镜像 docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop:latest 注:此镜像为阿里云个人上传镜 ...
- [luogu2469] 星际竞速
题面 巨佬一眼就能看出这是最小路径覆盖, 我这个蒟蒻还是太弱了... 我们可以知道跳跃值为点权w[i], 两点之间距离为边权ww 对于每个点, 在最小路径覆盖问题中, 假设每个点都是一条路 ...
- rebase合并commit步骤详解
网上关于rebase合并commit有很多文章,但大部分中间一些步骤没有写明 第一步:在终端输入 git rebase -i [startPoint] [endPoint] 并回车 第二步:编辑指令, ...
- loglevel-metamask
pimterry/loglevel https://github.com/pimterry/loglevel Minimal lightweight simple logging for JavaSc ...
- 记录因xen而导致lvs,realserver转发activeconn为0
8.81----vip,keepalived 8.82----realserver 8.83----realserver 8.84----realserver 在8.81上ipvsadm -Ln的时候 ...
- (二)Lua脚本语言入门(关于函数)
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
((GPIO_TypeDef *) GPIOA_BASE)表示将GPIOA_BASE强制转换为指针类型的结构体, #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) ...