从零开始学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. luogu P3690 【模板】Link Cut Tree (动态树)

    嘟嘟嘟 LCT竟然看了整整一天,但好歹是看懂了. 教程这里不写,强烈推荐 闪狐大佬的博客 . 但是还是有几句想说的. 1.尽管LCT和splay很像,但是有一些细节还是不一样的.首先是rotate,我 ...

  2. MetaMask/Website

    https://github.com/MetaMask/Website 将这个包下载下来之后运行npm install出现下面的问题 gyp: No Xcode or CLT version dete ...

  3. Linux下安装与配置snmp服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  4. java读写properties配置文件方法

    1.Properties类 Properties类表示了一个持久的属性集.Properties可保存在流中或从流中加载,属性列表中的key和value必须是字符串. 虽然Properties类继承了j ...

  5. python3——print使用

        print的初步认识:对于科班出身的或有相关经验的人来说,学习python是相当有趣的事,因为可以做日常任务, 比如自动备份你的MP3:可以做网站,如YouTube就是Python写的:可以做 ...

  6. python_基础硬件知识

    通过学习这一篇章的内容,回顾了<数字逻辑><计算机组成原理><操作系统> 这几门课的相关知识 有时候,总是要了解一些基本,才能更容易理解程序 以下是我的一些听课记录 ...

  7. CSS之Header--我的头部我做主

    <div class='header'> <div class="header-left"> <span class='iconfont back-i ...

  8. CODE[VS] 1159 最大全0子矩阵

    写一道CODEVS的题目 其实我还是很喜欢CODEVS的界面的 主要是系统地学习一下悬线法这个看似十分简单,实际就是十分简单的算法 对于一些详细的东西参考dalao's blog,不喜勿喷 对于悬线法 ...

  9. 对*P++的理解,再联想~~~

    前言: 最近在看一位叫朱有鹏大神的视频,讲的甚好.应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客--大家可以去www.zhulaoshi.org观看视频-- ...

  10. python 回溯法 子集树模板 系列 —— 17、找零问题

    问题 有面额10元.5元.2元.1元的硬币,数量分别为3个.5个.7个.12个.现在需要给顾客找零16元,要求硬币的个数最少,应该如何找零?或者指出该问题无解. 分析 元素--状态空间分析大法:四种面 ...