【Kotlin】简单介绍与使用kotlin

🍎个人博客: 个人主页

🏆个人专栏****:Kotlin

⛳️ 功不唐捐,玉汝于成

目录

前言

正文

特点

变量和常量

数据类型和类型推断

函数

字符串模板

条件表达式

空安全

[when 表达式](#when 表达式)

循环

我的其他博客


前言

Kotlin是一种现代、静态类型的编程语言,由JetBrains开发并于2011年首次发布。它是为JVM(Java虚拟机)编写的,并与Java完全互操作。这意味着Kotlin代码可以调用Java代码,反之亦然。Kotlin被设计为一种更简洁、更安全和更高效的替代Java的语言,特别适用于Android开发。

正文

特点

  1. 简洁性

    • Kotlin通过简洁的语法减少了样板代码。例如,不需要明确声明变量类型,编译器可以自动推断类型。
    • 支持类型推断、简洁的Lambda表达式和高阶函数。
  2. 安全性

    • Kotlin内置空安全(null safety),减少了空指针异常(NullPointerException)的风险。
    • 通过智能类型转换,减少了显式的类型转换。
  3. 互操作性

    • Kotlin与Java完全互操作,可以无缝地调用Java代码库和框架。
    • 可以与现有的Java项目一起使用,不需要完全重写代码。
  4. 现代特性

    • 支持协程(coroutines),提供简洁的异步编程方式。
    • 支持扩展函数、数据类、密封类等现代编程概念。
  5. 性能

    • Kotlin编译后运行在JVM上,性能与Java相当。
    • 也支持编译为JavaScript和原生代码,适用于跨平台开发。

变量和常量

复制代码
val name: String = "Kotlin"
var age: Int = 10
  • val 声明不可变变量(类似于Java中的 final 变量)。
  • var 声明可变变量。

数据类型和类型推断

复制代码
val name = "Kotlin" // 编译器推断为 String 类型
var age = 10        // 编译器推断为 Int 类型

函数

复制代码
fun sum(a: Int, b: Int): Int {
    return a + b
}

// 单表达式函数
fun multiply(a: Int, b: Int) = a * b

字符串模板

复制代码
val name = "Kotlin"
val age = 10
println("Hello, $name! You are $age years old.")
println("Next year, you will be ${age + 1} years old.")

条件表达式

复制代码
val max = if (a > b) a else b

空安全

复制代码
// 可为空类型
var name: String? = null

// 安全调用运算符 (?.)
println(name?.length)

// Elvis 运算符 (?:)
val length = name?.length ?: 0

when 表达式

复制代码
val x = 2
val result = when (x) {
    1 -> "One"
    2 -> "Two"
    else -> "Unknown"
}

循环

复制代码
// for 循环
for (i in 1..10) {
    println(i)
}

// while 循环
var i = 10
while (i > 0) {
    println(i)
    i--
}

我的其他博客

【MySQL】数据库规范化的三大法则 --- 一探范式设计原则-CSDN博客

【JAVA】线程的run()和start()有什么区别?-CSDN博客

【日常聊聊】程序员必备的面试技巧:如何在面试战场上脱颖而出-CSDN博客

【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁-CSDN博客

【JAVA】怎么确保一个集合不能被修改-CSDN博客

【Web开发】会话管理与无 Cookie 环境下的实现策略-CSDN博客

【Mybatis】Mybatis如何防止sql注入-CSDN博客

【软件工程】航行敏捷之路:深度解析Scrum框架的精髓-CSDN博客

【Spring】理解IoC与AOP:构建灵活而模块化的软件架构-CSDN博客

相关推荐
阿巴斯甜19 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker19 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952720 小时前
Andorid Google 登录接入文档
android
黄林晴21 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿2 天前
Android MediaPlayer 笔记
android
Jony_2 天前
Android 启动优化方案
android
阿巴斯甜2 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇2 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android