Kotlin基础语法
Kotlin基础语法
- 说明
JDK版本:1.8
开发工具:IntelliJ IDEA
Github:https://github.com/Rushro2m/LearnKotlin
常量与变量
- 常量
定义:val 常量名(任意文字、长度不限)
赋值:val 常量名 = 值
val salary = 5000
val π = 3.1415926
val age = 24
fun main(args: Array<String>) {
println("工资是:${salary}")
println("π的值是:${π}")
println("年龄是:${age}")
}
- 变量
定义:var 变量名(任意文字、长度不限)
赋值:var 变量名 = 值
var openTime = 5
var workTime = 10
fun 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 = 10
var j = 4
i += j
println("结果是:${i}")
i -= j
println("结果是:${i}")
i *= j
println("结果是:${i}")
i /= j
println("结果是:${i}")
i %= j
println("结果是:${i}")
- 比较操作符
两个常量或者变量进行比较,返回值为true或者false“> < >= <=”
var x = 10
var y = 11
var z = x > y
z = x >= y
z = x < y
z = x <= y
返回值是true或者false
- 逻辑操作符
布尔值的组合,&&(与) ||(或) !(非)
//逻辑操作符
var haveComputer = true
var haveAvailable = true
var isEighteen = false
if (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)
更多推荐


所有评论(0)