简约之美Kotlin(二)Kotlin入门基础知识

前言

今天开始正式介绍Kotlin这门语言以及在Android中的应用。本篇将介绍Kotlin的入门基础知识部分。

Android Studio中使用Kotlin 可参考文章:简约之美Kotlin(一)Android Studio创建一个简单的Kotlin应用


目录

这里写图片描述

1.基本类型

1-1.数据类型

先来看下Kotlin中是如何声明一个基本类型变量的。

private var context: Context? = null

val a: Int = 10000
val b: String? = "我是字符串"

Kotlin中声明变量很简单,通过两个关键词 var(变量)val(常量),冒号后面是你要声明变量的类型。Kotlin变量方面和Java有些区别,Java中有八大基本数据类型以及他们对应的包装类型。Kotlin中数据类型都以”包装类”(对象)的形式存在,可以直接调用类型的基本属性和方法。

Kotlin中没有Java中的数据隐式转换(由低级向高级转换)

Java中:

byte a = 1;
int b = a;
print(a == b)  <!--return true-->

Kotlin中:

val a: Int? = 1 
val b: Long? = a

print(a == b)  //return false

那么在Koltlin中如何将数字从低类型向高类型转换呢?用显式转换,每种数字都是支持以下转换:

toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char

例如:

这里写图片描述

说白了,Kotlin给我们提供了比较方便的数据类型转换,用的时候真的是特别方便。

1-2.数组

声明数组参数类型为Array任意数据类型:

方式1:arrayof()声明

<!--声明数组,参数类型-->
val a = arrayOf(10, "20", 30f)

<!--提供了set()方法-->
a.set(0,"kotlinArray")

<!--提供了get()方法-->
val index0 = a.get(0)

<!--提供了获取数组大小-->
val size = a.size

方式2:使用Array构造函数

<!--创建Array<String> 值为["0", "1", "4", "9", "16"]-->
val asc = Array(5, { i -> (i * i).toString() })


除此之外,Kotlin还提供了具体数据类型的数组,ByteArrayShortArrayIntArray等,它们和Array没有继承关系。但是也是有属于自己类型的操作方法以及属性等。

<!--声明数组,参数Int型,这里没必要强转,只是显示一下其类型-->
val a = intArrayOf(10,20,30) as IntArray

<!--提供了set()方法-->
a.set(0,0)
....


1-3.字符串

这里对只针对字符串介绍一下它的字符串模板功能。

模板表达式是以美元符号($)开头,接下来我们看个例子:

val a = 10
print("a = $ a") //打印结果为 a = 10

或者是{ }大括号中任意表达式:

val str = "kotlin"
print(""$ str.length是$ {"str.length"}) //打印结果kotlin.length长度是3


2.基本语法

2-1.方法的声明

 fun sum(a: Int, b: Int): Int {
        return a + b
 }

两个参数 类型是Int型,冒号后面是方法的返回值类型,没有返回类型的声明。

fun showToast(): Unit {
      ToastUtils.show("no return value function")
}
//或者:
fun showToast() {
        ToastUtils.show("no return value function")
}



2-1.变量的声明

val a: Int = 1  // 立刻赋值
val b = 2   // 系统推倒出是Int类型
val c: Int  // 声明变量c,暂时没有赋值
c = 3       // 延期赋值


2-3.控制流程

2-3-1.条件语句

传统用法:

var max: Int
if (a > b) {
    max = a
} else {
    max = b
}

表达式用法:

val max = if (a > b) a else b


2-3.2.选择语句

使用when代替了switch case,写法很简单。

when (id) {
    1 -> print("id == 1")
    2 -> print("id == 2")
    else -> { 
        print("id is neither 1 nor 2")
    }
}

再来看个条件是表达式的操作。

when (id) {
    in 1..10 -> print("id 在1-10范围之内")
    in validNumbers -> print("id 是valid")
    !in 10..20 -> print("id 不在10-20范围内")
    else -> print("否则不在上述范围内")
}


2-3.3.循环语句

Kotlin中没有提供foreach方法,但是只要提供迭代器的任何东西都可以循环遍历,如下一个简单的遍历

for (item in collection) print(item)

支持块中操作:

for (item: Int in ints) {
    // todo
}

支持范围表达式:


for(i in 1..3){
    println(i)    // 1 2 3
}

for (i in 6 downTo 0 step 2) {
    println(i)    // 6 4 2 0
}

范围表达式将在以后的文章中做介绍。

结尾

本篇介绍了Kotlin的入门基础知识,这里只是一部分在工作中常用知识点。后续会不断的补充。

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页