Kotlin基础学习笔记(2)
1、基本数据类型
Kotlin的基本数值类型包括byte,short,int,long,float,double等。字符不属于数值类型,是一个独立的数据类型。
数字类型中不会主动转换。例如,不能给Double变量分配Int。必须做一个明确的类型转换,可以使用众多的函数之一。
2、类型转换
每种数据类型都有下面这些转换:
toByte():Byte,
toShort():Short,
toInt():Int,
toLong():Long,
toFloat():Float,
toDouble():Double,
toChar():Char
有时候,也会有自动类型转换,前提是根据上下文环境推断出正确的数据类型而且数学操作符会做出相应的重载。例如:
val l = 1L+3 //Long+Int= Long
3、位操作符
对于Int和Long类型,还有一系列的位操作符可用,分别是:
shl(bits) - 左移动
shr(bits) - 右移动
ushr(bits) - 无符号右移动
and(bits) - 与
or(bits) - 或
xor(bits) - 异域
inv() - 反向
4、条件控制
when表达式:when将它的参数和所有分支条件进行比较,直到某个分支满足条件。
when既可以当作表达式使用,也可以当作语句使用。当被当作表达式的时候,符合条件的分支就是整个表达式的值,如果被当作语句使用,则忽略个别分支的值。类似于C#里的switch。
val x =
when(x){
-> print("x === 1") //输出 x === 1
-> print("x === 2")
else ->{
print("x 不是1,也不是2")
} }
这里的else相当于switch中的default。如果很多分支需要相同的处理条件的话,可以把多个条件放在一起,用逗号分隔。
5、循环控制
for循环:for循环可以对任何提供迭代器的对象进行遍历。
语法:for(item in collection) print(item)
val items = listOf("apple", "banana", "kiwi")
for (item in items) {
println(item)
}
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
还有while与do...while循环,语法上与其他编程语言基本一样
println("----while 使用-----")
var x =
while (x > ) {
println( x--) //输出5,4,3,2,1
}
println("----do...while 使用-----")
var y =
do {
println(y--) //输出5,4,3,2,1
} while(y>)
Kotlin基础学习笔记(2)的更多相关文章
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
- C#RabbitMQ基础学习笔记
RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
随机推荐
- loadrunner测试c/s架构的应用系统
用LoadRunner测试c/s架构的软件,怎样去选择协议,困扰了我很久,看到这篇文章,感觉有点收获,所以特意转了过来,希望对大家有用. 首先,什么是协议?协议无非就是一个约定,关于数据包发送的格式的 ...
- java查找字符串里与指定字符串相同的个数
public class EmployeeDemo { //方法一: public int search(String str,String strRes) {//查找字符串里与指定字符串相同的个数 ...
- D3——Updates, Transitions, and Motion
<script type="text/javascript"> ; ; ; , , , , , , , , , ,, , , , , , , , , ]; //crea ...
- POJ - 3476 A Game with Colored Balls---优先队列+链表(用数组模拟)
题目链接: https://cn.vjudge.net/problem/POJ-3476 题目大意: 一串长度为N的彩球,编号为1-N,每个球的颜色为R,G,B,给出它们的颜色,然后进行如下操作: 每 ...
- WebKit由三个模块组成-Webkit模块介绍
2. Webkit 源代码由三大模块组成: 1). WebCore, 2). WebKit, 3). JavaScriptCore. WebCore:排版引擎核心,WebCore包含主要以 ...
- iOS js 使用与JSContext
JSContext:js执行环境,包含了js执行时所需要的所有函数和对象: js执行时,会在执行环境搜索需要的函数然后执行,或者保存传入的变量或函数: JSContext *jsContext = [ ...
- 2018-2019-2 网络对抗技术 20165322 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165322 Exp2 后门原理与实践 目录 实验准备 后门概念 常用后门工具 实验内容与步骤 使用netcat获取主机操作Shell,cron启动 使用so ...
- 给trac的ticket添加提交时字段验证
我们在项目管理中使用了trac系统,并且对于ticket添加了以下自定义字段并且对它们的格式都有一定要求: svn版本号:格式为 r1234.多个版本号之间使用半角逗号隔开.如:r1234,r5678 ...
- 【php】获取ip
addBoard.php中获取到ip $ip=$_SERVER['REMOTE_ADDR']; 通过ajax采取POST方式发送到服务器 $("#submit").on(" ...
- 7、Dubbo-配置(2)
重试次数 通常配合timeout超时设置进行配置 <dubbo:reference "> </dubbo:reference> <dubbo:service i ...