【kotlin学习过程】Kotlin的基本知识

本文介绍了Kotlin语言的基础知识及特点,包括与Android平台的高度兼容性、与Java的互操作性、简洁的语法等,适合Java开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:

  • 兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android
    设备上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构建系统。
  • 性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着 Kotlin 对内联函数的支持,使用
    lambda 表达式的代码通常比用 Java 写的代码运行得更快。
  • 互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现有的 Android 库
    。这包括注解处理,所以数据绑定和 Dagger 也是一样。
  • 占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际应用程序中,Kotlin
    运行时只增加几百个方法以及 .apk 文件不到 100K 大小。
  • 编译时长:Kotlin 支持高效的增量编译,所以对于清理构建会有额外的开销,增量构建通常与 Java 一样快或者更快。
  • 学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin
    的转换器有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。

基础

  1. 首先当然是HelloWorld!

HelloWorld.kt

fun main(args:Array<String>){
    println("HelloWorld")
}

由这简单的三行代码可以看出kotlin方法关键字fun,输出和java类似为println。
kotlin的方法定义为fun 方法名(参数):返回值类型{}。
2. 基本类型
Kotlin 中使用的基本类型:数字、字符、布尔值、数组与字符串。
具体和java差不多
kotlin用var 来定义一个变量,val来定义一个常量

表达方式

var one = 1
var doubleNum = 1.1
var floatNum = 1.1f
val oneMillion = 1_000_000   //常量。你可以使用下划线使数字常量更易读
var isOpen = false
//如果需要定义基本类型
var number:Int = 2
var hello:String = "HelloWorld!"

//字符串中可以包含字符串表达式
val i = 10
val s = "i = $i" // 求值结果为 "i = 10"
//或者
val s = "abc"
val str = "$s.length is ${s.length}" // 求值结果为 "abc.length is 3"

3.方法(函数)
在前面HelloWorld中有看到main方法了。这里简单写一个加法函数就可以基本了解kotlin的函数入门了
如果允许某个参数为空的话则需在类型后加?(fun plus(x:Int?,y:Int?){}

fun main(args:Array<String>){
    var x = 1
    var y = 2
    println("$x + $y = ${plus(x,y)}"
}
fun plus(x:Int,y:Int):Int{
    return x+y
}

当然这里可以了解一下kotlin的人机交互

fun main(args:Array<String>){
    println("请输入第一个数字")
    var xStr = readLine()
    println("请输入第二个数字")
    var yStr = readLine()
    //xStr?.toInt()表示如果xStr不为空就转成Int,但是下面要执行加法则下x,y不能为空
    //var x = xStr?.toInt()
    //var y = yStr?.toInt()
    //xStr!!.toInt()表示xStr输入进来一定不为空
    var x = xStr!!.toInt()
    var y = yStr!!.toInt()
    println("$x + $y = ${plus(x,y)}"
}
fun plus(x:Int,y:Int):Int{
    return x+y
}

函数表达式
上面的plus函数还可以这样写

//可以直接返回x+y
fun plus(x:Int,y:Int):Int = x+y
//或者可以在一个函数里面直接定义
fun main(args:Array<String>){
    var plus = {x:Int,y:Int -> x+y}
    var result = plus(1,2)
    //还有另外一种是
    var plus1:(Int,Int)->{x,y -> x+y}
    var result1 = plus1(1,2)
}

4.条件控制
kotlin的条件控制if和else用法和java一样

fun main(args:Array<String>){
    var num = 10
    if(num > 0)
        println("$num 大于0")
    else
        println("$num 小等于0")
}

5.when表达式
相当于java的switch,但是有所区别

fun main(args:Array<String>){
    var num = 1
    when(num){
        0 -> println("$num 的值是0")
        1 -> println("$num 的值是1")
        2 -> println("$num 的值是2")
        else -> println("$num 无法识别")
    }
}

6.kotlin的区间以及for循环
例如[1,100]var nums = 1 .. 100
开区间[1,100)var nums = 1 until 100

fun main(args:Array<String>){
    var nums = 1 .. 100
    var result = 0
    for(num in nums){
        result = result + num
    }
    println("结果为${result}")
    //加入步长step
    for(num in nums step 2){
        println(num)
    }
}

7.list和map
直接看代码把

fun main(args:Array<String>){
    var lists = listOf("第一个","第二个","第三个")
    for(list in lists){
        println(list)
    }
    //如果需要下标
    for((i,e) in lists.withIndex()){
        println("$i $e")
    }
}

map需要引入TreeMap

import java.util.TreeMap
fun main(args:Array<String>){
    var map = TreeMap<String,String>()
    map["好"] = "good"
    map["学习"] = "study"
    println(map["好"] + map["好"] + map["学习"])
}

这几天简单的学习了一下kotlin语言,泛泛的记录一下,仅供参考,如有误导尽请原谅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值