Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用

  1. 云栖社区>
  2. 博客>
  3. 正文

Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用

幸运券发放 2019-07-26 12:12:24 浏览181
展开阅读全文

Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用
作者:@stars-one
本文为作者原创,转载请注明出处:https://www.cnblogs.com/kexing/p/11249014.html

本文适合有Java基础的人

Kotlin语法特点
相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获

主函数
kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之前的java那般,还要定义个类,写上main方法

复制
fun main(args: Array) {

println("hello world")

}
基本数据类型
这是说是基本数据类型,其实下面的这些都是kotlin封装好的类,就是相当于Java中的Integer,FLoat等包装类,数值会自动包装。

这样的好处就是,数值是一个对象,可以保证不会出现空指针。

类型 位宽度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8
注意,kotlin中的字符类型Char不属于基本数据类型

由于是对象,所以比较得比较内容,kotlin中封装了==和===两个运算符供我们比较不同的内容和对象地址

=== 表示比较对象地址,两个 == 表示比较两个值(内容)大小

类型转换:

上面的基本数据类型都有下面的方法,负责类型转换

toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
复制
//显示转换
val num: Byte =1
val num1 = num.toInt
变量声明
两个关键字:

val 声明一个只读常量
var 声明一个变量
val相当于使用了java中的final关键字修饰变量(声明常量)
var就是和之前声明

复制
//声明一个整型常量num,数值为12,之后无法对num进行赋值操作
val num: Int = 12
//kotlin的自动判断类型特性,上面的式子也可以这样写
val num = 12

//声明一个常量,赋值过一次之后,无法再次对常量进行赋值
val num: Int
num = 12
复制
//kotlin的基本数据类型变量,还可以加上“_”来便于阅读,不影响数值
//下面的num还是一个Int类型的数据
val num = 1_000_000
//小数也可以加上“_”
val num = 1.02_120
字符串String
普通用法
复制
//和java一样,字符串里可以包含转义字符
val str = "hello worldn"
println(str)
特殊用法
复制
//里面的n也会打印出来
val str = """hello worldn"""
println(str)
复制
//去除前面的“|”
val text = """

|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
""".trimMargin()

//去除前面的“>”
val text = """

>Tell me and I forget.
>Teach me and I remember.
>Involve me and I learn.
>(Benjamin Franklin)
""".trimMargin(">") 

字符串模板:
$开头,后面可接一个变量,或者是用花括号,里面写一个表达式

复制
val num = 5
val text = "i = $num"//输出“i=5”

val text = "the length = ${arrays.length}"

//显示$,$不支持转义
val price = "${'$'}9.99"
println(price)
属性
lastIndex(最后的下标值),length

常用方法
以下加粗的方法都是kotlin中String新增加的方法

方法 描述
String [index] 取String的指定下标的元素
String first() 取第一个元素
String last() 取最后一个元素
indexOf
indexLastOf
String plus(text) 和“+”效果一样,连接字符串
Boolean equals(text[,ignoreCase]) 第二个参数不写,相当于之前说的“==”比较内容,第二个参数为true,则忽略内容大小写就行比较
String substring(startIndex[,endIndex])
String substringBefore() 截取第一个出现的字符串前面的字符串内容
String substringAfter() 截取第一个出现的字符串后面的字符串内容
String substringBeforeLast() 截取最后一个出现的字符串前面面的字符串内容
String substringAfterLast() 截取最后一个出现的字符串后面的字符串内容
replace() 替换
replaceFirst() 见下面例子
replaceBefore() 见下面例子
replaceAfter() 见下面例子
replaceBeforeLast() 见下面例子
replaceAfterLast() 见下面例子
spilt()
Boolean isBlank() 字符串是否全是空格
Boolean isEmpty() 字符串长度是否为0,为0返回true
String reversed() 字符串反转
String startsWith()
String endsWith()
String trim() 清除空格
String drop(int) 删除头部的几个元素并返回
String dropLast(int) 删除末尾的几个元素并返回
replaceFirst()等:

复制
val text = "kotlin is kotlin"
//第一个kotlin替换为java
println(text.replaceFirst("kotlin", "java"))
//在kotlin之前加上java,替换第一个kotlin
println(text.replaceBefore("kotlin", "java"))
//获取出现kotlin最后一次的下标,截取该下标到末尾的字符串,并在字符串之前添加java
println(text.replaceBeforeLast("kotlin", "java"))

//与上面相反
println(text.replaceAfter("kotlin", "java"))
println(text.replaceAfterLast("kotlin", "java"))
isBlank和isEmpty:

复制
val text = " "
println(text.isBlank())//输出为true
println(text.isEmpty())//输出为fasle
drop和dropLast:

复制
val text = "hello"
println(text.drop(2))//输出为llo
println(text.dropLast(2))//输出为hel
substringBefore等:

复制
val text = "this is starsone"
//截取第一个is之前的内容
println(text.substringBefore("is"))
//截取最后一个is之前的内容
println(text.substringBeforeLast("is"))//注意,这里还包括空格
//截取第一个出现的is后面的内容
println(text.substringAfter("is"))
//截取最后一个出现的is后面的内容
println(text.substringAfterLast("is"))

网友评论

作者关闭了评论
幸运券发放
+ 关注