从零开始学Kotlin-操作符(3)
从零开始学Kotlin基础篇系列文章
冒号操作符 ":" 和 "::"
- :操作符用来定义变量、类的继承等
var name: String//定义变量
class MainActivity : AppCompatActivity()//继承类
- ::可以用来得到类的Class对象
startActivity(Intent(this@MainActivity, SecondActivity::class.java))//得到SecondActivity对象
比较符""和"="
- "=="比较两个数值大小
- "==="比较两个对象地址
var a:Int = 100
print(a===a) 结果:true
var b:Int =a
var c:Int =a
print(b===c) 结果:false
print(b==c) 结果:true
属于操作符 "is"
- is操作符可以用来判断某个实例是否属于另一个实例
if (name is String){ //name 是否是String 类型
print(true)
}
模板操作符 "$"
- 模板操作符可以输出一个变量值
var name="SiberiaDante"
print("My name is $name")//输出结果:My name is SiberiaDante
Null检查机制符"?"、"?:"和"!!"
- "?"表示这个对象可以为空
//类型后面加?表示可为空
var age: String? = "23"
- "?:"表示非空则使用,否则返回指定数值
//a不为空,返回a的长度,否则返回-1
val 1ength==a?.length?:-1
//相当于
val length:Int=if(a!=null)a.length else -1
- "!!" 操作符
val l = b!!.length//非空b,如果b为空,抛出空指针
区间操作符".."、"until"、"in"、"!in"和"downTo()"、"step()"函数
- ..闭区间操作符,代表在a到b区间类,包含a和a;until半闭区间操作符,代表a到b区间,包含a不包含b;
- in操作符,代表i 在某一个区间类;!in 代表i不在某一个区间类
if(i in 1..10){ //如果i在1到10十个数之间,就输出i
print (i)
}
if(i !in 1..10){ //如果i不在1到10十个数之间,就输出i
print (i)
}
if(i in 1 until 10){ //如果i在1到10九个数之间(不包含10),就输出i
print (i)
}
- downTo()函数:倒叙区间内循环,a 到 b区间到倒叙
for(i in 5 downTo 1){
print(i)//输出结果:54321
}
- step()函数,跳跃式函数
for(i in 5..1 step 2){
print(i)//输出结果:531
}
从零开始学Kotlin-操作符(3)的更多相关文章
- 从零开始学Kotlin第六课
Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...
- 从零开始学Kotlin第七课
1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在to ...
- 从零开始学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) ///简化 ...
- 从零开始学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("天安门")); } // ...
- 从零开始学Kotlin-扩展函数(10)
从零开始学Kotlin基础篇系列文章 什么是扩展函数 扩展函数数是指在一个类上增加一种新的行为,我们甚至没有这个类代码的访问权限: Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 ...
- 从零开始学Kotlin-枚举(9)
从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo ...
随机推荐
- 【高德地图API】从零開始学高德JS API(四)搜索服务——POI搜索|自己主动完毕|输入提示|行政区域|交叉路口|自有数据检索
地图服务.大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.假设说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血. 有个各种各样 ...
- Netty入门(三)构成部分
该节主要讲解 Netty 的构成部分. 一.Channel 它代表一个用于连接到实体如硬件设备.文件.网络套接字或程序组件,能够执行一个或多个不同的 I/O 操作的开放连接.可以比作传入和传出数据的传 ...
- 使用mysql乐观锁解决并发问题思路
本文摘自网络,仅供个人学习之用 案例说明: 银行两操作员同时操作同一账户.比如A.B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后 ...
- centos7 安装svn, 同时支持 svn 和 http访问
1. 安装 svn [root@svn conf]#yum install subversion [root@svn conf]# svn --version svn, version 1.7.14 ...
- Codeforces Round #553 (Div. 2)B. Dima and a Bad XOR 思维构造+异或警告
题意: 给出一个矩阵n(<=500)*m(<=500)每一行任选一个数 异或在一起 求一个 异或在一起不为0 的每行的取值列号 思路: 异或的性质 交换律 x1^x2^x3==x3^x2 ...
- -bash: fork: retry: Resource temporarily unavailable;centos6.5
Last login: Wed Jun 18 14:04:11 2014 from 1.1.1.135 -bash: fork: retry: Resource temporarily unavail ...
- 非阻塞 sleep
在OpenResty里面选择使用库的时候,有一个基本的原则:尽量使用ngx Lua的库函数,尽量不用Lua的库函数,因为Lua的库都是同步阻塞的. 再来一个例子来说明阻塞API的调用对nginx并发性 ...
- leetcode-844 Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- Python 函数(三)
Python 3 函数 (闭包.装饰器.递归.高阶函数) 一.闭包 内部函数可以引用外部函数的参数和局部变量,当外部函数返回内部函数时,相关参数和变量 都保存在返回的函数中,简单的说,这种内部函数可以 ...
- 采用PowerDesigner 设计数据库
PowerDesigner设计数据库的教程网上都有,最好的是我一位同学写的,地址: 点击这里 我的大致流程如下: 首先要以管理员的身份打开PowerDesigner,如果没这么做,将导致后面无法创建S ...