登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
Kotlin 变量详解:声明、赋值与最佳实践指南 ...
Kotlin 变量详解:声明、赋值与最佳实践指南
[ 复制链接 ]
鞠古香
2025-6-5 15:31:09
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
Kotlin 变量
变量是用于存储数据值的容器。
要创建一个变量,使用 var 或 val,然后使用等号(=)给它赋值:
语法
var 变量名 = 值
val 变量名 = 值
复制代码
示例
var name = "John"
val birthyear = 1975
println(name) // 打印 name 的值
println(birthyear) // 打印 birthyear 的值
复制代码
var 和 val 的区别在于使用 var 关键字声明的变量可以被更改/修改,而 val 变量则不行。
变量类型
与许多其他编程语言不同,Kotlin 中的变量不需要声明指定的类型(比如对于文本是 "String",对于数字是 "Int",如果你熟悉的话)。
要在 Kotlin 中创建一个应该存储文本的变量和另一个应该存储数字的变量,请看下面的示例:
示例
var name = "John" // String(文本)
val birthyear = 1975 // Int(数字)
println(name) // 打印 name 的值
println(birthyear) // 打印 birthyear 的值
复制代码
Kotlin 足够智能,可以理解 "John" 是一个 String(文本),而 1975 是一个 Int(数字)变量。
然而,如果你坚持的话,也可以指定类型:
示例
var name: String = "John" // String
val birthyear: Int = 1975 // Int
println(name)
println(birthyear)
复制代码
你也可以在不分配值的情况下声明一个变量,并在以后分配值。但是,这只有在指定类型时才可能:
示例
这样是可以的:
var name: String
name = "John"
println(name)
复制代码
示例
这将生成一个错误:
var name
name = "John"
println(name)
复制代码
注意:你将在下一章学习更多关于数据类型的知识。
关于 val 的注意事项
当你使用 val 关键字创建一个变量时,值不能被更改/重新分配。
以下示例将生成一个错误:
示例
val name = "John"
name = "Robert" // 错误(val 不能重新赋值)
println(name)
复制代码
当使用 var 时,你可以随时更改值:
示例
var name = "John"
name = "Robert"
println(name)
复制代码
那么何时使用 val?
当你希望一个变量始终存储相同的值时,val 关键字是有用的,比如 PI(3.14159...):
示例
val pi = 3.14159265359
println(pi)
复制代码
显示变量
就像你在上面的示例中看到的那样,println() 方法经常用于显示变量。
要同时结合文本和变量,使用 + 字符:
示例
val name = "John"
println("你好 " + name)
复制代码
你也可以使用 + 字符将一个变量添加到另一个变量:
示例
val firstName = "John "
val lastName = "Doe"
val fullName = firstName + lastName
println(fullName)
复制代码
对于数值,+ 字符作为数学运算符:
示例
val x = 5
val y = 6
println(x + y) // 打印 x + y 的值
复制代码
从上面的示例中,你可以预期:
x 存储值 5
y 存储值 6
然后我们使用 println() 方法来显示 x + y 的值,即 11
变量名
一个变量可以有一个简短的名称(比如 x 和 y)或更具描述性的名称(age、sum、totalVolume)。
Kotlin 变量的一般规则是:
名称可以包含字母、数字、下划线和美元符号
名称应该以字母开头
名称也可以以 $ 和 _ 开头(但我们在本教程中不会使用)
名称区分大小写("myVar" 和 "myvar" 是不同的变量)
名称应该以小写字母开头,不能包含空格
保留字(比如 Kotlin 关键字,如 var 或 String)不能用作名称
驼峰命名法变量
你可能注意到我们在上面的示例中使用了 firstName 和 lastName 作为变量名称,而不是 firstname 和 lastname。这被称为 "驼峰命名法",被认为是一个良好的实践,因为当你有一个变量名中包含不同单词时,比如 "myFavoriteFood"、"rateActionMovies" 等,这样做可以使它更易读。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Kotlin
变量
详解
声明
赋值
相关帖子
zcash pow equihash算法详解
详解 MicroPython 驱动中数据与业务逻辑的分离设计
详解 MicroPython 驱动中数据与业务逻辑的分离设计
spark的共享变量之广播变量和累加器
详解Flask3.x版本下两大类型内存马
secp256k1算法详解五(kG点乘多梳状算法)
详解 MicroPython 驱动中数据与业务逻辑的分离设计
Electron.js 详解、应用场景及完整案例
Keepalived详解:原理、编译安装与高可用集群配置
LangChain详解
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
zcash pow equihash算法详解
2
62
矛赓宁
2025-11-28
安全
详解 MicroPython 驱动中数据与业务逻辑的分离设计
2
516
歇凛尾
2025-11-29
安全
详解 MicroPython 驱动中数据与业务逻辑的分离设计
2
868
染罕习
2025-12-02
安全
spark的共享变量之广播变量和累加器
1
775
泻缥
2025-12-03
业界
详解Flask3.x版本下两大类型内存马
3
1002
鞠彗云
2025-12-03
业界
secp256k1算法详解五(kG点乘多梳状算法)
1
333
里豳朝
2025-12-05
安全
详解 MicroPython 驱动中数据与业务逻辑的分离设计
0
304
那虻
2025-12-07
安全
Electron.js 详解、应用场景及完整案例
3
714
甘子萱
2025-12-08
业界
Keepalived详解:原理、编译安装与高可用集群配置
0
69
决任愧
2025-12-09
安全
LangChain详解
0
531
颓哀
2025-12-11
回复
(1)
凤患更
2025-10-21 08:23:10
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
鞠古香
2025-10-21 08:23:10
关注
0
粉丝关注
27
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994893
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
691
【Ubuntu】Ubuntu+VScode+ESP-IDF 的环境搭
654
60 秒出高质量科研图!Gemini+DeepSeek 绘
772
追踪链路--使用iptables/ipvs来记录后端pod
157
【译】初探 Visual Studio 2026 全新的用户
316
建筑渗漏治理的标准化实践:基于上海芮生建
48
Aspire 13:从.NET 编排工具到真正的多语言
997
用 .NET 最小化 API 构建高性能 API
394
VonaJS是如何做到文件级别精确HMR(热更新)
386
PHP 值对象实战指南:避免原始类型偏执
98
北京上门收酒机构排行|3家靠谱之选,卖酒
921
好拼|免费在线拼图工具又收到赞助啦
479
数据点的“社交距离”:衡量它们之间的相似
719
告别“草率编程”:Vibe Engineering 如何
10
字符串匹配算法
342
监听小工具-股票监控神奇九转分钟线信号触
427
国内GEO优化技术深度测评:核心维度全景对
366
Avalonia源码解读:Grid(网格控件)
239
研究 TikTok 爆款的人,一定要懂这类下载工
960
Java Optional 完全指南:优雅处理 null 的
26
全面封禁 Cursor!又一家大厂出手了