Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kotlin变量与数据类型详解

Kotlin变量与数据类型详解

原创
作者头像
龙小雨
发布于 2025-05-17 01:39:13
发布于 2025-05-17 01:39:13
720
举报

Kotlin 变量与基本数据类型详解

一、变量声明

1. val vs var

  • val:不可变变量(只读),类似 Javafinal
  • var:可变变量
代码语言:kotlin
AI代码解释
复制
val name = "Kotlin"   // 类型推断为 String
var age = 25          // 类型推断为 Int

// name = "Java"      // 编译错误:Val cannot be reassigned
age = 26              // 合法操作

2. 显式类型声明

代码语言:kotlin
AI代码解释
复制
val score: Double = 95.5
var isStudent: Boolean = true

二、基本数据类型

1. 数值类型

类型

位宽

范围

示例

Byte

8

-128 ~ 127

val b: Byte = 127

Short

16

-32768 ~ 32767

val s = 32767

Int

32

-2^31 ~ 2^31-1

val i = 42

Long

64

-2^63 ~ 2^63-1

val l = 123L

Float

32

约±3.4e38

val f = 3.14f

Double

64

约±1.7e308

val d = 3.14

注意Kotlin 中没有隐式类型转换,必须显式转换:

代码语言:kotlin
AI代码解释
复制
val numInt: Int = 100
val numLong: Long = numInt.toLong()  // 正确
// val numLong: Long = numInt       // 错误

2. 布尔类型(Boolean)

代码语言:kotlin
AI代码解释
复制
val isTrue: Boolean = true
val isAdult = age >= 18  // 推断为 Boolean

3. 字符类型(Char)

使用单引号,支持 Unicode:

代码语言:kotlin
AI代码解释
复制
val letter: Char = 'A'
val unicodeChar = '\u0041'  // 'A'

4. 字符串(String)

  • 支持模板表达式
  • 原生字符串(保留格式)
代码语言:kotlin
AI代码解释
复制
// 普通字符串
val message = "Hello, $name! Age is ${age + 1}"

// 多行文本
val text = """
    First line
    Second line
     Third line
""".trimIndent()

三、数组类型

1. 通用数组(Array)

代码语言:kotlin
AI代码解释
复制
// 创建方式1:arrayOf
val numbers = arrayOf(1, 2, 3)

// 创建方式2:工厂函数
val zeros = Array(3) { 0 }  // [0, 0, 0]

// 访问元素
println(numbers[0])  // 输出 1

2. 基本类型数组

更高效,避免装箱拆箱:

代码语言:kotlin
AI代码解释
复制
val intArray: IntArray = intArrayOf(1, 2, 3)
val charArray = charArrayOf('a', 'b', 'c')

四、特殊类型

1. Any 类型

所有类的超类(类似 Java 的 Object):

代码语言:kotlin
AI代码解释
复制
val anyValue: Any = 42  // 可接受任意类型

2. Unit 类型

相当于 void,用于无返回值函数:

代码语言:kotlin
AI代码解释
复制
fun printMessage(): Unit {
    println("This returns Unit")
}

3. Nothing 类型

表示永不返回的函数:

代码语言:kotlin
AI代码解释
复制
fun fail(): Nothing {
    throw RuntimeException("Error occurred")
}

五、类型检查与转换

1. 智能类型推断

代码语言:kotlin
AI代码解释
复制
when (val obj: Any = "Kotlin") {
    is String -> println(obj.length)  // 自动转换为 String
    is Int -> println(obj + 1)
}

2. 安全转换

代码语言:kotlin
AI代码解释
复制
val str: String? = "123"
val num: Int? = str as? Int  // 安全转换,失败返回 null

六、总结对比

特性

Kotlin

Java

变量声明

val/var + 类型推断

显式类型声明

空安全

内置(?符号)

需额外注解

基本类型

全对象化

原始类型 + 包装类

数组

Array + 基本类型专用数组

单一数组类型

建议在实际编码中充分利用类型推断和安全特性,写出更简洁、安全的 Kotlin 代码。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【数据】 大数据在零售业中的五个用例
随着零售业持续加速扩张,商户们也急于寻找大数据在零售业中的最佳用例。 根据财经网站Kiplinger报道,2017年,光是零售业销售额就有望增长3.5%,电子商务则持续大幅迈进,预期增幅15%。从日志文档、交易信息,到传感器数据和社交媒体指标——这些新的数据来源为零售机构带来了新的机遇,助其在一个日益扩张的行业领域内,实现空前的价值与竞争优势。 零售商要在内部提供有利条件,使人们可以“快准狠”地做出决策。要达到这一目标,唯一的途径就是将大数据利用起来,制定最好的计划与决策,更加深入地了解顾客,并挖掘隐藏趋势
陆勤_数据人网
2018/04/18
1.3K0
【数据】 大数据在零售业中的五个用例
为什么说本地零售是实体商家新机遇?
从字面上理解,本地零售就是基于本地的零售业态。最初的本地零售更偏向于区域零售,泛指开设在社区和商业区的各种零售业态,以及一些区域性的连锁商超,如我们熟悉的商超、购物中心、百货商店、便利店/社区店、折扣店、会员店、专卖店等。
庄帅
2023/12/07
2660
为什么说本地零售是实体商家新机遇?
数据分析八大模型:人货场模型
之前分享了销售分析的基本做法,今天来分享一个销售分析最常用的模型:人货场模型。这是来源于传统零售业的经典分析模型,在电商环境里其实也能用。大家一起来看一下。
码工小熊
2021/12/22
1.6K0
未来哪些零售商能活下去?懂你的零售商能活下去
从供应链数字化,到运营管理数字化、营销数字化,如今走向深水区——消费者数字化,零售业的数字化始终围绕着降低经营成本、提升运营效率和增强用户体验在进行。
庄帅
2024/01/24
1420
未来哪些零售商能活下去?懂你的零售商能活下去
你知道吗?消费者正在重返实体店
埃森哲最新的调查发现,消费者中出现了“重返实体店”的迹象,未来计划更多通过实体店进行购物的消费者比例从一年前的18%攀升至26%。这一趋势不仅发生在中国,在美国等成熟市场愈加明显。 调查发现,93%的
用户1756920
2018/06/20
3830
苏宁全面开放零售CPU胜算几何?
8月28日晚间苏宁云商发布半年报,数据显示:上半年净利润同比增长146%,线上销售规模同比增长105%,移动端订单数占线上整体比例接近56%。正向发展的业绩表明,苏宁历时六年的互联网零售转型开始进入收割期。而在刚刚结束的第三次工作会议上,张近东又首次提出了“零售CPU”概念,并声称会将此能力向行业、社会输出。联系到之前苏宁与阿里的天价合作以及“一体两翼三云四端”的战略打法,苏宁下一站将剑指何处,全面开放零售CPU又有多少胜算?不妨随响铃这货来看看。
曾响铃
2018/08/20
4870
苏宁全面开放零售CPU胜算几何?
麦德龙卖身物美,外资零售企业的“中国复兴”之路和方法论
10月10日,麦德龙、物美和多点Dmall联合宣布,物美就收购麦德龙中国控股权已与麦德龙集团签订最终协议。交易完成后,物美集团将在双方设立的合资公司中持有80%的股份,麦德龙继续持有20%的股份。多点Dmall将成为麦德龙中国的技术合作伙伴。
庄帅
2019/10/19
4740
麦德龙卖身物美,外资零售企业的“中国复兴”之路和方法论
星巴克:大数据是零售业发展契机
科技决定企业高度 现代社会,成功的企业都离不开高科技。例如星巴克,是领先的零售餐饮品牌,同时又非常重视ICT。根据星巴克官网的数据,目前,星巴克在大陆60多个城市运营超过1001家门店。中国已然是星巴克的“第二本土市场”,到2015年,星巴克计划在中国大陆运营1,500家门店。专业人士都明白:要实现如此规模的门店标准化产品和服务,并非仅仅依靠人力和决心就可以达成。餐饮连锁企业的品牌扩张,离不开专业、安全、可靠的ICT解决方案。越来越多的企业已经意识到ICT的重要作用。仅以富士通一家企业的数据就可见一斑,近
大数据文摘
2018/05/22
8090
【案例】无印良品:数据是实现O2O的最好工具
无印良品做电子商务最重要的不是为了线上的销量,更多的是将其作为前台导购。事实上,无印良品定义网络店铺的作用有三个:最重要的是向实体店铺引流,让消费者到实体店铺消费;第二位是和顾客进行交流;最后才是网络店铺的销量。 2000年,无印良品迎着互联网发展的大潮,开始设立网络店铺。时至今日,无印良品线上注册会员超过430万,销售的商品在7000件以上,每日访问消费者人数超过11万。 但无印良品上线的初衷并非追求销售额,而更在乎服务。传统零售业重视成交的瞬间,把销量额看作是一切。但对无印良品看来
机器学习AI算法工程
2018/03/09
1.6K0
数字时代零售业,几家欢喜几家愁
福布斯中文网授权转载 作者Barbara Thau 译 梅子心 校 俆笑音 摘自:福布斯中文网(微信公号: forbeschinaonline) 这可不是赛马这么简单。 通过对零售行业的赢家、输家和
大数据文摘
2018/05/23
5350
实体零售突围 | TW商业洞见
科技即商业 TECHNOLOGY IS BUSINESS 互联网对于实体零售的冲击是前所未有的,一个新的购物范式由此产生,并大行其道,最终形成全新的商业生态,包含新的供应链、营销形式、产品设计、消费者服务、物流等配套体系。 线上和线下的购物体验由此建立,大批实体零售商由于技术能力和反应速度的限制,在线上购物体验中进展缓慢。 尔后,移动互联网迅猛发展,从某个角度来说,移动互联网的兴起为实体零售带来了新的机会,这种机会并不在于技术上,而在于因为移动互联网更加基于场景化(Contextual),更加贴近于现实,
ThoughtWorks
2018/04/20
1.1K0
实体零售突围 | TW商业洞见
实体零售纷纷转型,苏宁、乐语到底能给我们带来哪些启示?
宏观经济换挡、GDP增速回落,电商迅速崛起,当下国民经济正进入新常态,零售业也不另外,大幅度的转型和升级此起彼伏,《2015中国连锁百强》显示,2015年,55%的企业净利润下滑,新开门店同比下降16%、关闭门店同比上升39%,理性开店、主动关店成为行业共同的呼声,O2O与体验式购物更被当做转型自救的武器,前有苏宁、乐语等家电通信卖场主动调整,后有万达、天虹、步步高等商超加速构建商业综合体。那他们是如何做的,又会面临哪些问题,还能给我们带来哪些启发?
曾响铃
2018/08/20
6430
实体零售纷纷转型,苏宁、乐语到底能给我们带来哪些启示?
新零售下中小微零售们如何赋能
文/黄成甲(微:Alankou)   自从2016年雷军提出新零售的概念后,巨头们不断在新零售领域进行探索,小米自2016年2月在北京落地第一家完全自营的零售综合体“小米之家”后,陆续在全国开设了137家门店。雷军表示在未来三到四年内要开出1000家门店。京东选择加盟的方式,要开百万线下实体店,直接开打电商下半场。阿里则通过技术能力促进新零售发展,推出无人零售店。巨头们从新业态、新技术对零售行业进行革新。中小微零售实体又该如何适应?笔者从零售业态变化、用户需求及消费场景的变化、IT到DT的变化三个维度来说明中小微零售企业如何适应新零售发展。
黄成甲
2018/09/12
8070
新零售下中小微零售们如何赋能
数字化推动服务零售升级进入新阶段
一直以来,零售业涵盖狭义零售和广义零售两个范畴,狭义零售指的是实物零售,也称之为商品零售;广义零售泛指所有针对个人用户的交易行为,除商品零售之外,还有服务零售,包括餐饮零售、零售银行、机酒零售、景区零售、美容美发等。国家统计局也在今年8月首度公布服务零售数据,并明确了服务零售额的概念。
庄帅
2023/10/23
2240
零售巨头进军电商核心:大数据研究
一段记录顾客在商店浏览购物的视频、顾客在购买产品和服务前后的行为、如何通过社交网络联系您的客户、是什么吸引合作伙伴加盟、客户如何付款以及供应商喜欢的收款方式......所有这些场景都提供了很多指向,将他们抽丝剥茧,透过特殊的棱镜观察,将其与其他数据集对照,或者以与众不同的方式分析解剖,就会发现这里面有很多秘密。而所有的秘密的支持都依靠一种技术:大数据。 从国内近年来新开张的商业物业来看,影院、餐厅、美容、健身、娱乐等“亲历性”服务项目占有的面积正在不断增多,而单纯的商品销售面积正在不断减少,这也是苏宁
腾讯研究院
2018/03/13
7730
新零售时代,零售行业如何“新”出未来?
在传统零售业面临严峻局面之时,紧接着轰轰烈烈的双11,中国连锁经营协会(CCFA)在苏州召开了全零售大会,汇聚一堂的零售百强企业老板们最核心的话题便是创新与转型。大会最终把最高奖项“2016中国零售创新大奖”颁发给了三胞集团旗下的乐语,评审如是说:“是在互联网时代顺应用户思维,是中国实体零售企业中真正有效提升了用户粘性的典范代表”。可以说,乐语获此殊荣,正是因为近年来的创新举措和辉煌企业成就完美地契合了零售业转型的要求,并做出了成功的表率。
曾响铃
2018/08/20
6420
新零售时代,零售行业如何“新”出未来?
全渠道零售时代的“道·术·器”
欣欣向荣的5月,海鼎分别在杭州和深圳举办了主题为“全渠道 新零售 启未来”的2014全渠道战略研讨会,定邀部分零售企业负责人、行业协会、媒体朋友前来,共同探讨新时代零售企业如何把握全渠道零售的“道术器”。会上,中国连锁经营协会副秘书长杨青松、宁波小小万家投资股份有限公司董事长邬国贤、湖北良品铺子食品有限公司董事长杨红春、上海海鼎信息工程股份有限公司副总经理邱浩以及其他几位嘉宾分别阐述了自己对全渠道零售的理解,并介绍了海鼎在构建全渠道零售能力方面的前瞻研究以及形成的国内首套全渠道零售ERP——海鼎鼎力UPow
人称T客
2018/03/19
1.4K0
小程序+新零售,行业新玩法!
随着消费升级和商业模式的不断革新,线上线下融合的新零售概念被企业和互联网广泛提及。从大润发的飞牛网,到京东3C产品实体店,再到阿里巴巴的无人超市,中国零售业正发生着重大的变革。而连接线上场景与线下服务的微信小程序,能否成为线下门店撬动新零售的杠杆?下面跟随小编一起进入探索吧!
中微信通
2018/09/20
2K0
小程序+新零售,行业新玩法!
疫情宅家促生“囤货经济”,北美零售业极限应考
危机产生和意识到危机产生是两件事情。就在美国对着中国的疫情发展“隔岸观火”的两个月后的3月初,美国民众突然发现自己身边开始出现新冠病毒感染,这才意识到危机的到来。
脑极体
2020/04/08
4060
#TW行业前瞻#【敏捷零售:走入消费互联网时代】
文/熊节 本文首先快速观察了IT技术的发展,尤其是移动互联网技术的发展给零售行业带来的机遇与挑战;随后介绍了零售业IT领域需要关注的能力、渠道和技术;强调了零售企业需要采取“敏捷零售”的战略,应用这些高优先级的技能,来提升自己的IT能力以便适应新时代的要求。 盛夏八月,京东商城掀起的一场价格战,让更多普通消费者越发清晰地感到:原来网上购物离我们并没有那么远。且不论京东、苏宁、国美究竟是 真降价促销还是放烟幕弹,众多像我父母一样素来远离互联网的消费者也开始尝试在网上购物,这让我们真切地感到:零售行业与互联网聚
ThoughtWorks
2018/04/16
6990
推荐阅读
相关推荐
【数据】 大数据在零售业中的五个用例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档