前往小程序,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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Kotlin 极简教程 》第4章 基本数据类型与类型系统
到目前为止,我们已经了解了Kotlin的基本符号以及基础语法。我们可以看出,使用Kotlin写的代码更简洁、可读性更好、更富有生产力。
一个会写诗的程序员
2018/08/17
2.4K0
Kotlin学习之路(2)数据类型
每一种语言都有自己的基本数据类型,Kotlin也有自己的数据类型,类似与Java包括整型 浮点型 布尔类型等。
全栈程序员站长
2021/04/07
8300
《Kotlin 程序设计》第三章 Kotlin 类型系统第三章 Kotlin 类型系统基本数据类型2.字符类型CharKotlin类型系统参考资料
对象是带有属性和方法的特殊数据类型。笔者记得,在大学时候,学习C语言的结构体struct的时候,里面介绍过ADT(Abstract Data Type, 抽象数据类型)。其实,这就是对象。
一个会写诗的程序员
2018/08/20
1.4K0
《Kotlin 程序设计》第三章 Kotlin 类型系统第三章 Kotlin 类型系统基本数据类型2.字符类型CharKotlin类型系统参考资料
Kotlin学习笔记(一)-数据类型
本系列适合完全没有学过Kotlin并且像快速入门的同学,本人现在也是在学习中,所以作为笔记难免会有错误,如果我理解的不对或是有疑问,真诚希望可以在留言区大家进行讨论。
g小志
2019/12/19
7960
Kotlin极简教程(1)数据类型
因为种种原因,谷歌把Android的第一开发语言改成了Kotlin。虽然近来用Java编写Android是是非常便利的。但是经过多次更新后,Java在Android方面的用处肯定会比不上Kotlin,所以有必要学习一下Kotlin。
ZackSock
2020/02/14
1.1K0
02. Kotlin 变量、常量和类型
在 Kotlin,一切都是一个对象,你可以调用任何变量的成员函数和属性。有些类型可以有一个特殊的内部表示——例如,数字、字符和布尔值可以在运行时表示为基本值——但对用户来说,它们看起来像普通类。
acc8226
2023/03/16
1.1K0
第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统
我们在编程语言中使用类型的目的是为了让编译器能够确定类型所关联的对象需要分配多少空间。
一个会写诗的程序员
2018/08/17
2.2K0
第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统
Kotlin系列一:基础知识快速入门
Android 1.5系统中Google 引入了NDK功能,支持使用C和C++语言来进行一些本地化开发。
许进进
2022/01/08
8630
Kotlin:04-基本数据类型详细介绍
在上面的图中,我们能够清晰的看到,kotlin 的基本数据类型包括 数值、字符、字符串、布尔类型、数组。接下来,我们就一一了解这些类型。
CnPeng
2020/08/11
1.8K0
【Kotlin】Kotlin 语言基础 ( 环境安装 | 变量 | 简单使用 | 函数 | 异常 | 递归 )
IntelliJ IDEA 安装 : 下一步 -> 下一步 即可, 全部默认设置;
韩曙亮
2023/03/27
4.6K0
【Kotlin】Kotlin 语言基础 ( 环境安装 | 变量 | 简单使用 | 函数 | 异常 | 递归 )
《Kotlin极简教程》第三章 Kotlin基本数据类型数字基本类型
在 Kotlin 中,所有东西都是对象:数字、字符、布尔和数组。(JavaScript)
一个会写诗的程序员
2018/08/20
9160
Kotlin入入入门(二)
之前在 Kotlin入入入门(一) 中已经介绍了如何配置 Kotlin 。另外,还把 Java 代码转换为了 Kotlin 代码。所以今天我们就来比较一下这两者代码之间的区别,从而实现快速入门 Kotlin 。
俞其荣
2022/07/28
6280
给 Java 开发者的 Kotlin 快速上手教程(Kotlin for Java Developers)v0.1
1995年,当年如日中天的Sun公司发布了Java语言,引起了巨大的轰动,与当时主流的C语言和Basic语言比起来,Java语言简单、面向对象、稳定、与平台无关、解释型、多线程、动态等特点,就像是打开了一个新的世界,一时间风靡全球,云集者众,微软为了模仿Java搞出C#语言,Netscape为了赶时髦硬塞出一个JavaScript语言,IBM则捏着鼻子做了Java IDE Eclipse(日蚀,呵呵)。直到现在,Java在编程世界里还占据着举足轻重的地位,Andy Rubin在开发Android系统时,也很自然地采用了Java和C++(C++负责NDK开发)作为开发语言。
一个会写诗的程序员
2018/12/07
1.2K0
给 Java 开发者的 Kotlin 快速上手教程(Kotlin for Java Developers)v0.1
Kotlin入门实用开发技巧与注意事项
Kotlin,这门由 JetBrains 开发的现代编程语言,自 2017 年被 Google 宣布为 Android 官方开发语言以来,便迅速在开发者社区中流行起来。它以其简洁的语法、空安全的特性和与 Java 的无缝互操作性而受到青睐。作为一名资深程序员,我将为刚入门 Kotlin 的开发者分享一些实用的开发技巧和注意事项,帮助你快速上手并避免常见的陷阱。
AntDream
2024/09/13
1180
Kotlin入门实用开发技巧与注意事项
《Kotlin极简教程》第3章 Kotlin语言基础第3章 Kotlin语言基础《Kotlin极简教程》正式上架:参考资料
学习任何东西,都是一个由表及里的过程。学习一门编程语言也一样。对于一门编程语言来说,“表” 就是基本词汇(关键字、标识符等)、句子(表达式)和语法。
一个会写诗的程序员
2018/08/17
1.8K0
Kotlin学习日志(二)数据类型
Kotlin的基本数据类型和其他高级语言得分类一样,包括整型、长整型、浮点型、双精度、布尔类型、字符型、字符串这几种常见类型,这样说可能过于抽象,那就和java中的基础数据类型来对比一下吧。
晨曦_LLW
2020/09/25
3.6K0
kotlin数据类型
基本数据类型包括 Byte、Short、Int、Long、Float、Double
人不走空
2024/07/13
1920
kotlin数据类型
Scala变量和常用数据类型
同Java一样,Scala也有8种基本数据类型:Byte、Char、Short、Int、Long、Float、Double以及Boolean。
栗筝i
2022/12/01
4290
Scala变量和常用数据类型
Scala基础入门(五)Scala 内置9种数据类型
在 Scala 中,所有数据类型的根类型是 AnyVal , 类似于 java 中的 Object 类。 以下是 AnyVal 的文档说明:
青山师
2023/05/04
2190
Android:关于Kotlin的入门语法指南(类、变量 & 函数)都总结在这里了!
Kotlin的基本数值类型有六种:Byte、Short、Int、Long、Float、Double
Carson.Ho
2020/04/27
1.9K0
推荐阅读
相关推荐
《Kotlin 极简教程 》第4章 基本数据类型与类型系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档