kotlin:数据类型|kotlin:数据类型,空值处理,读取键盘输入
- 导入/打开项目需选择.src上级目录
- idea里kotlin快捷键
sout 控制台输出 = println( )
- var 可变的变量
val 运行时的 不可变变量
const val 相当于JAVA中的final
基本数据类型8种首字母大写
数字类型不支持八进制.
二进制以0b开头,如0b0010.十六进制以0x开头,如0x300b
与java不同,范围小的类型不能直接赋值给范围大的类型
整型数范围可以用如下方面查看
fun main(args: Array) {
var maxLong:Long = Long.MAX_VALUE
var minLong:Long = Long.MIN_VALUE
println(maxLong)
println(minLong)
}
类型转换可以使用
val m = 10
println(m.toLong())标准的赋值操作
val a:Int = 3
kotlin可以智能类型推断,一般可以写作 val a = 3
字符串
优先使用字符串模板或原始字符串而不是字符串连接
用"+"连接字符串与其他类型的值,需要表达式中的第一个元素是 字符串
普通字符串使用" ",如"男孩"
原样输出字符串使用""" """,保留定义时的格式
1.trimIndent去除空格,trimMargin去除指定字符
fun main(args: Array) {
var pn = """
南海
西沙
永兴岛
""".trimIndent()
println(pn) }输出结果:南海
西沙
永兴岛
字符串比较
==和equals效果是一样的
比较地址用===
字符串截取substring
字符串分割split,可以多参数
fun main(args: Array) {
val str1 = "张三.李四-王五"
val split1 = str1.split(".", "-")
println(split1)
}输出结果:[张三, 李四, 王五]
元组数据
1.二元元组Pair
fun main(args: Array) {
val pair = Pair("张三",20)
val pair1 = "张三" to 20
val name1 = pair1.first
}
输出结果:
张三
2.三元元组Triple
fun main(args: Array) {
val triple = Triple("李四","男",30)
val name = triple.first
println(name)
}
输出结果:
李四
空值处理 ??可空变量类型
val a:Int? = null
【kotlin:数据类型|kotlin:数据类型,空值处理,读取键盘输入】?!!非空断言
var age:String = null!!
- 空安全调用符?.
str?.toInt() 相当于
if (str != null) { return str.toInt() }else{ return null }
var ageInt:Int = age?.toInt()?:10
val str: String? = null
val a: Int = str?.toInt() ?: -1
//如果结果为null 返回默认值不为null 返回当前结果
println(a)输出结果: -1
接收键盘输入readline()
fun main(args: Array) {
var a:Int = readLine()?.toInt()?:0
var b:Int = readLine()?.toInt()?:0
var result = a+b
println(result)
}
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 使用协程爬取网页,计算网页数据大小
- Java|Java基础——数组
- Python数据分析(一)(Matplotlib使用)
- Jsr303做前端数据校验
- Spark|Spark 数据倾斜及其解决方案
- 数据库设计与优化
- 爬虫数据处理HTML转义字符
- android防止连续点击的简单实现(kotlin)
- 数据库总结语句