从零开始学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("天安门")); } // ...
随机推荐
- NOIP模拟赛-2018.10.22
模拟赛 今天第一节课是历史,当然是不可能上的,一来到机房发现今天高二考试... 老师说以后可能还要给高一考...那还不如现在跟着做好了,毕竟在学长学姐中垫底显得没那么丢人 这套题风格挺奇怪的...为什 ...
- Opatching PSU in Oracle Database 11g Release 2 RAC on RHEL6
Opatching PSU in Oracle Database 11g Release 2(11.2.0.4) RAC on RHEL6 1) 升级opatch工具 1.1) For GI home ...
- Kafka学习之路 (五)Kafka在zookeeper中的存储
一.Kafka在zookeeper中存储结构图 二.分析 2.1 topic注册信息 /brokers/topics/[topic] : 存储某个topic的partitions所有分配信息 [zk: ...
- pytorch 绘制训练曲线;服务器端训练,本地浏览器显示,本地打不开;tensorboard端口被占
代码里面用tensorboard保存了训练的日志在logs目录里面 用tensorboard命令打开日志目录:tensorboard --logdir="./logs/" 会显示一 ...
- vue计算属性和vue实力的属性和方法
生命周期 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- 图解:图形下控制台中weblogic9.2多池配置为oracle集群RAC
update: 这个东西如果配置不顺利的话:应用请求数据库的时候,会打印类似这样的错误: :open connection err Pool connect failed : weblogic.com ...
- OC实现个人中心页面
AppDelegate.m: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDic ...
- 关于mydumper的.metadata文件丢失
今天要进行MySQL的数据迁移,所以把数据库通过mydumper工具备份的文件解压后.通过myloader进行导入 可是导入的时间出现这个报错: ** (myloader:766): CRITICAL ...
- python_分布式进程中遇到的问题
看文档学习分布式进程中遇到了一下问题,文档里面例题是python2.X,我用的python3.x,就出现了一下莫名奇妙的问题,最终版代码先呈上: taskManager.py # coding:utf ...
- 20155333 《网络对抗》Exp2 后门原理与实践
20155333 <网络对抗>Exp2 后门原理与实践 1.例举你能想到的一个后门进入到你系统中的可能方式? 下载的软件中捆绑有后门: 浏览的网页或其上的小广告: 有些网页会自动安装软件. ...