news 2026/4/22 0:55:20

kotin基础语法汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
kotin基础语法汇总

变量声明

Kotlin 中使用valvar声明变量,val表示不可变变量(类似 Java 的final),var表示可变变量。

valname:String="Kotlin"// 不可变varage:Int=10// 可变

类型可以省略,编译器会自动推断:

vallanguage="Kotlin"// 自动推断为 Stringvarscore=95// 自动推断为 Int

基本数据类型

Kotlin 的基本数据类型包括:

  • 整数:ByteShortIntLong
  • 浮点数:FloatDouble
  • 布尔:Boolean
  • 字符:Char
  • 字符串:String
valnum:Int=42valpi:Double=3.14valisTrue:Boolean=truevalletter:Char='A'valtext:String="Hello"

条件控制

if表达式可以直接返回值:

valmax=if(a>b)aelseb

when表达式替代了switch,功能更强大:

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

循环结构

for循环遍历集合或范围:

for(iin1..5){// 1 到 5println(i)}for(iin1until5){// 1 到 4println(i)}for(iin5downTo1){// 5 到 1println(i)}valnames=listOf("Alice","Bob","Carol")for(nameinnames){println(name)}

whiledo-while循环:

while(x>0){x--}do{println(x)x--}while(x>0)

函数定义

使用fun关键字定义函数:

fungreet(name:String):String{return"Hello,$name!"}// 单表达式函数可以简写funsquare(x:Int)=x*x

函数参数可以有默认值:

fungreet(name:String="World"){println("Hello,$name!")}

类和对象

类定义:

classPerson(valname:String,varage:Int){fungreet(){println("Hi, I'm$name")}}

创建对象:

valperson=Person("Alice",25)person.greet()

空安全

Kotlin 的类型系统区分可空和非空类型:

vara:String="abc"// 非空a=null// 编译错误varb:String?="abc"// 可空b=null// 允许

安全调用操作符?.

vallength=b?.length// 如果 b 为 null,返回 null

Elvis 操作符?:提供默认值:

vallength=b?.length?:0// 如果 b 为 null,返回 0

集合操作

Kotlin 提供丰富的集合操作:

valnumbers=listOf(1,2,3,4,5)valdoubled=numbers.map{it*2}// [2, 4, 6, 8, 10]valeven=numbers.filter{it%2==0}// [2, 4]valsum=numbers.reduce{acc,num->acc+num}// 15

扩展函数

可以为现有类添加新函数:

funString.addExclamation()="$this!"println("Hello".addExclamation())// 输出: Hello!

数据类

数据类自动生成toString()equals()hashCode()等方法:

dataclassUser(valname:String,valage:Int)valuser=User("Alice",25)println(user)// 输出: User(name=Alice, age=25)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 12:23:43

VB编程的现代实践:从经典到创新的全面指南

VB编程的现代实践:从经典到创新的全面指南 你是否想过,那个让你在Windows 95时代疯狂拖拽控件的VB,如今竟能驾驭云计算甚至量子计算?这可不是科幻小说的情节——让我们掀开VB三十年进化史的神秘面纱,探索它如何从“玩具语言”蜕变为企业级开发的瑞士军刀。 一、VB语言的前…

作者头像 李华
网站建设 2026/4/20 23:37:34

狂中Nature子刊!CNN-LSTM做时间序列预测火力全开,思路非常上头!

在处理兼具局部相关性与长期依赖性的复杂时序数据时,CNN-LSTM是个非常可靠和有效的选择。因为它通过分工协作有效解决了关键矛盾,这方面比单一模型更全面、更稳健。但从创新角度来说,CNN-LSTM做时序预测研究范式已经发生了深刻变化&#xff0…

作者头像 李华
网站建设 2026/4/22 14:40:21

千匠供应链商城系统:AI赋能、灵活部署,全力助推产业互联网平台建设与发展

千匠供应链商城系统以中台架构为核心,凭借其针对性的系统定位、强大的核心功能、先进的技术架构、广泛的应用场景和显著的实施价值,为企业打造深度整合采销一体化、交易撮合、全链路管理等多项功能的产业供应链平台,助力企业实现转型升级。系…

作者头像 李华