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

本文适合有Java基础的人

Kotlin语法特点

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

主函数

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

fun main(args: Array<String>) {
    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 world\n"
println(str)

特殊用法

//里面的\n也会打印出来
val str = """hello world\n"""
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 s = "this is starsone"
//替换第一个is之前的内容
println(s.replaceBefore("is", "are"))//输出为areis is starsone
//替换第一个is之后的内容
println(s.replaceAfter("is", "are"))//输出为thisare
//替换最后一个is之前的内容
println(s.replaceBeforeLast("is", "are"))//输出为areis starsone
//替换最后一个is之后的内容
println(s.replaceAfterLast("is", "are"))//输出为this isare

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"))

参考链接 关于字符串(String)常用操作汇总
kotlin text(有关于string的各种方法介绍)
kotlin api文档
菜鸟教程 kotlin基本类型


提问之前,请先看提问须知 点击右侧图标发起提问 联系我 或者加入QQ群一起学习 Stars-One安卓学习交流群 TornadoFx学习交流群:1071184701
posted @ 2019-07-26 11:33  Stars-one  阅读(1887)  评论(0编辑  收藏  举报