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)的更多相关文章

  1. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  2. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  3. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  4. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  5. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  6. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  7. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  8. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

  9. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

随机推荐

  1. 在python中逐行读取大文件

    在我们日常工作中,难免会有处理日志文件的时候,当文件小的时候,基本不用当心什么,直接用file.read()或readlines()就可以了,但是如果是将一个10G大小的日志文件读取,即文件大于内存的 ...

  2. C语言顺序表的实现

    今天本来想写段代码练练手,想法挺好结果,栽了个大跟头,在这个错误上徘徊了4个小时才解决,现在分享出来,给大家提个醒,先贴上代码: /********************************** ...

  3. CRITICAL **: Couldn't acquire global lock, snapshots will not be consistent: Access denied

    报错如下:** (mydumper:56288): CRITICAL **: Couldn't acquire global lock, snapshots will not be consisten ...

  4. BZOJ2330:[SCOI2011]糖果(差分约束)

    Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的 ...

  5. P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…

    题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of cours ...

  6. controller中的路径明明书写正确,浏览器中访问的url也拼接正确,但报404

    Bug:controller中的路径明明书写正确,浏览器中访问的url也拼接正确,但报404 原因一:由于路由地址对应的处理方法存在同名而造成的,此时应该检查controller的方法们,看看有没有同 ...

  7. 【bbs】login.php

    require的路径 整体结构的复用 渐变效果的加入 按钮:实现背景透明,文字不透明:在background-color中使用rgba,标准浏览器中,背景透明,文字不透明background-colo ...

  8. [TEST123] Performance Test

    https://blog.csdn.net/zhouping19851013/article/details/82870789 https://www.cnblogs.com/jackei/archi ...

  9. geth --rpcaddr

    当想要实现从另一台电脑连接本电脑上开启的geth客户端时,需要将--rpcaddr设置为本电脑的ip地址,如下: geth --datadir data0 --networkid --port --r ...

  10. 寻找最小的k个数(四种方法)

    1 使用从大到小的优先队列保存最小的K个数,每次取出K个数之后的其余数和堆顶元素比较,如果比堆顶元素小,则将堆顶元素删除,将该元素插入 void topK(int arr[],int n,int k) ...