从零开始学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)的更多相关文章

  1. 从零开始学Kotlin第六课

    Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...

  2. 从零开始学Kotlin第七课

    1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在to ...

  3. 从零开始学Kotlin第四课

    面向对象: //妹子 性格 声音 class Girl(var chactor:String,var voice:String) fun main(args: Array<String>) ...

  4. 从零开始学Kotlin第三课

    kotlin函数和函数式表达式的简化写法: fun main(args:Array<String>) { var result=add(2,5) println(result) ///简化 ...

  5. 从零开始学Kotlin第一课

    Kotlin的方法: 一个简单的计算器: fun main(args:Array<String>){ //主函数main方法 var a=8; var b=9; println(plus( ...

  6. 从零开始学Kotlin第五课

    函数式编程入门: package EL fun main(args: Array<String>) { var names= listOf<String>("tom& ...

  7. 从零开始学Kotlin第二课

    字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } // ...

  8. 从零开始学Kotlin-扩展函数(10)

    从零开始学Kotlin基础篇系列文章 什么是扩展函数 扩展函数数是指在一个类上增加一种新的行为,我们甚至没有这个类代码的访问权限: Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 ...

  9. 从零开始学Kotlin-枚举(9)

    从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo ...

随机推荐

  1. android与JS交互,互相调用方法,跳转到网页

    在main下面New - Folder - Assets Folder,在Assets下面新建一个js_android.html <html><head> <meta h ...

  2. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  3. 4、JUC--CountDownLatch闭锁

    CountDownLatch  Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能.  CountDownLatch 一个同步辅助类,在完 ...

  4. OpenCV——查找、绘制轮廓

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  5. ROS launch 文件的编写

    ROS提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file).事实上,在ROS功能包中,启动文件的使用是非常普遍的.任何包含两个或两个以上节点的系统都可 ...

  6. 5-51单片机ESP8266学习-AT指令(8266TCP服务器--用手机TCP调试助手发信息给单片机控制小灯的亮灭)

    http://www.cnblogs.com/yangfengwu/p/8759294.html 源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8 ...

  7. BZOJ 3812 : 主旋律

    非常神仙的状压DP+容斥原理. 首先,给出一个状压方程:$f_S$表示点集为$S$的情况下,整个点集构成强连通图的方案数. 这个DP方程还是比较容易想到的,但是没有办法正常转移,考虑通过容斥原理进行转 ...

  8. 20155206赵飞 Exp1PC平台逆向破解及Bof基础实践

    实验一 逆向及Bof基础 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP汇编指令的机器码是"90" JNE汇编指令的机器码是"75" ...

  9. 6、使用jconsole+VisualVM分析JVM

    一.不断增加对象触发GC的代码 VM 参数:-Xms100m -Xmx100m -XX:+UseSerialGC import java.util.ArrayList; import java.uti ...

  10. 蒙特卡罗方法 python 实现2

    如果不考虑作图,这里的两个例子可以改写成下面的样子: 求圆周率 import random ''' 蒙特卡罗模拟 投点法计算圆周率 ''' # 投点游戏 def play_game(): # 圆 r ...