Kotlin基础语法
来源:互联网 发布:油画 知乎 编辑:程序博客网 时间:2024/05/29 02:26
- 说明
JDK版本:1.8
开发工具:IntelliJ IDEA
Github:https://github.com/Rushro2m/LearnKotlin
常量与变量
- 常量
定义:val 常量名(任意文字、长度不限)
赋值:val 常量名 = 值
val salary = 5000val π = 3.1415926val age = 24 fun main(args: Array<String>) { println("工资是:${salary}") println("π的值是:${π}") println("年龄是:${age}") }
- 变量
定义:var 变量名(任意文字、长度不限)
赋值:var 变量名 = 值
var openTime = 5var workTime = 10fun main(args: Array<String>) { openTime = 6 workTime = 12 println("空调开放的时间是:${openTime}") println("每天工作的时间是:${workTime}")}
值的类型
- 整数型
整数,在Kotlin中称为Int类型的值
形式:var 变量名:Int = 3
由于Kotlin有类型推断,类型可以省略不写
所以,也可以这么写:var 变量名 = 3
fun main(args: Array<String>) { var run: Int = 4 val salary = 4000 run = 6 println("每天跑步${run}公里") println("每个月的工资是:${salary}元")}
- 浮点型
浮点型,也就是小数类型。
Kotlin中默认的浮点型是Double(双精度)。
Double类型可以保存小数点后15/16位(如果第16位>=5,则保留16位,否则保留15位),Float可以保存小数点后7位,所以Kotlin中不推荐使用Float类型的小数。
fun main(args: Array<String>) { val pi: Double = 3.1415926535897932384626 val a: Float = 3.333333364345353F println("圆周率是:${pi}") println(a)}
- 布尔类型
布尔型:Boolean
表示逻辑上的“真”或“假”
只有2个值,true和false
定义:val/var 常量名/变量名(:Boolean) = true/false
fun main(args: Array<String>) { var isVip = true if (isVip) { println("欢迎Vip会员") } else { println("还不赶紧充值") }}
- 元组类型
元组(Tuple),给多个变量同时赋值,份儿元(Pair)和三元(Triple)
可以对三个变量分别定义常量名/变量名,通过各自的常量名/变量名去调用数据,也可以定一个总的常量名/变量名,通过常量名/变量名的first,second,third去调用对应属性。
一般情况下定义方法:
val/var (name1,name2) = Pair(data1,data2)</br>val/var name = Pair(data1,data2)</br>val/var (name1,name2,name3) = Triple(data1,data2,data3)val/var name = = Triple(data1,data2,data3)
fun main(args: Array<String>) { val (day, month, year) = Triple(4, 9, 2017) val ming = Triple(15, "中学", "小明") val (desc, toll) = Pair("学费", 0) val hong = Pair(13, "小学") println("${year}年${month}月${day}日") println("姓名:${ming.third},学历:${ming.second},年龄:${ming.first}") println("小学${desc}是${toll}") println("姓名:${hong.first},学历:${hong.second}")}
- 可空类型
代表变量没有值的情况
如:用户资料的选填部分,如住址/性别等辅助信息
形式:val/var 名称:类型?,无值则是null
fun main(args: Array<String>) { var address: String? = "北京市海淀区" var sex: Boolean? = null if (address != null) { println("您的地址是:${address}") } if (sex != null) { println("你的性别是:${sex}") }else { println("当前没有设置性别") } sex = true if (sex) { println("是男生") } else { println("是女生") }}
- 类型安全
类型一旦定义,其类型不可更改
即:不能给变量一个类型不同的值
//定义为Int型var salary = 4000//不能更改为Double型salary = 4500.0
操作符
- 数学操作符
一般用于对于数之间的“+ - * / %”的操作
赋值与数学操作符的组合“+= -+ *= /= %=”
var i = 10var j = 4i += jprintln("结果是:${i}")i -= jprintln("结果是:${i}")i *= jprintln("结果是:${i}")i /= jprintln("结果是:${i}")i %= jprintln("结果是:${i}")
- 比较操作符
两个常量或者变量进行比较,返回值为true或者false“> < >= <=”
var x = 10var y = 11var z = x > yz = x >= yz = x < yz = x <= y
返回值是true或者false
- 逻辑操作符
布尔值的组合,&&(与) ||(或) !(非)
//逻辑操作符var haveComputer = truevar haveAvailable = truevar isEighteen = falseif (haveComputer && haveAvailable || isEighteen) { println("可以去上网")} else { println("不可以去上网")}if (!haveComputer) { println("没有电脑")} else { println("拥有电脑")}
字符串和字符
- 字符
用Char类型来定义字符,一对单引号包括的值,为字符字面量
val aNum = '3'val aLetter = 'a'
判断字符是否为数字或者字符
//判断是否是数字if (aNum.isDigit()) { println("aNum是一个数字")}//判断是否是字母if (aLetter.isLetter()) { println("aLetter是一个字母")}
- 字符串
字符串(String)是有序字符(Char)的集合
包含在一对双引号中间的值,称之为字符串字面量
val course = "今天是周二"val num = "1234567"
判断字符串是否为空:isEmpty(),是否不为空:isNotEmpty(),包含的字符数量:count()
//是否为空course.isEmpty()//是否不为空course.isNotEmpty()//包含多少个字符course.count()
将字符串转换为字符数组:toCharArray():
//将course转换为字符数组,并循环打出每个字符for (letter in course.toCharArray()) { println(letter)}
字符串模版:可以把各种变量组合成一个动态的字符串,在双引号内可以通过${}在其中填入常量、变量、表达式等。
val eventTime = Triple(6, 1, 3)val company1 = "顺丰"val company2 = "菜鸟"val admin = "国家邮政局"val newsTitle = "${eventTime.first}月${eventTime.second}日," + "${company1}大战${company2}正酣," + "${eventTime.third}日星夜,${admin}紧急叫停"println(newsTitle)
- Kotlin基础语法
- Kotlin 基础语法学习
- Kotlin基础语法
- Kotlin 基础语法
- Kotlin基础教程-基础语法
- 【Kotlin】基础语法学习
- kotlin基础语法
- kotlin基础语法学习
- Kotlin基础语法详解
- Kotlin基础语法
- Kotlin语法基础
- Kotlin基础语法
- Kotlin 基础语法-01
- Kotlin 基础语法-02
- Kotlin 基础语法-03
- Kotlin 基础语法-04
- Android kotlin 基础语法
- Kotlin基础语法
- 我用Python爬了12万条影评,告诉你《战狼Ⅱ》都在说些啥
- 代码整洁_类
- 求最小公倍数 Java模板
- 问题小结
- 【51Nod1421】最大MOD值
- Kotlin基础语法
- 移动端css重置
- 基于Android 7.1的AsyncTask原理分析
- 【001】计算机语言概述_Java
- hdu 6191 可持久化trie||线段树套trie||trie启发式合并
- centos6.5下面安装Mysql笔记
- 将输入框的内容追加到表格中
- 移动端边框1px处理
- BZOJ1226 学校食堂Dining