kotlin数据类型
人不走空
🌈个人主页:人不走空
💖系列专栏:算法专题
⏰诗词歌赋:斯是陋室,惟吾德馨

Kotlin基本数值类型
基本数据类型包括 Byte、Short、Int、Long、Float、Double
整数类型
| 类型 | 位宽 | 最小值 | 最大值 |
|---|---|---|---|
| Byte | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
| Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默认是 Int 类型
val bigNumber = 8000000000 //超过 Int 最大值默认是 Long 类型
val longNumber = 20L //数字后面显式加L,表示声明 Long 类型
val byteNumber:Byte = 1
Tips
所有未超出 Int 最大值的整型值初始化的变量都默认为Int类型,如果初始值超过了其最大值,那么推断为Long类型。在数字值后面显式添加L表示一个Long类型
Float、Double浮点类型
Kotlin 中提供了 Float 和 Double 两种类型来分别表示单精度和双精度的浮点数类型。
| 类型 | 位宽 |
|---|---|
| Float | 32 |
| Double | 64* |
val doubleNumber = 3.1415928888 //默认是Double类型
val floatNumber = 3.1415928888f //尾部加f或F显式表示这是一个Float类型的浮点数
Tips
Kotlin 对于小数的默认推断是Double类型。如果需要显式将一个小数指定为Float类型需要在数值尾部加入f或F。由于Float类型十进制位数是6位,所以上述例子中floatNumber实际值大小为3.1415926,后面就会出现进度丢失舍弃。
在 Kotlin 中还有一点与 Java 不同的是,Kotlin 中数字不存在隐式的拓宽转换。比如一个函数参数为Double 的函数只能接收 Double 类型,不能接收 Float、Int 或者其他数字类型
字符类型
在 Kotlin 中字符用 Char 类型表示
fun testChar(char: Char) {if(char == 4) {...}//此处会提示类型不匹配的异常
}
字符的值需要用单引号括起来: '0'、'9'。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 显式转换为数字
}
布尔类型
在 Kotlin 使用Boolean表示布尔类型,它只有两个值 true 和 false。注意可空类型Boolean?类型会存在装箱操作。
val isVisible: Boolean = falseval isVisible = false //自动推断为布尔Boolean类型
字符串类型
在 Kotlin 中字符串用 String 类型表示。字符串是不可变的。 字符串的元素——字符可以使用索引运算符访问: s[i]。 可以用 for 循环迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($)开头,由一个简单的名字构成:
val number = 100
println("The Result is $number")
或者用花括号${}括起来的任意表达式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串与转义字符串内部都支持模板。 如果你需要在原始字符串中表示字面值 $ 字符(它不支持反斜杠转义),你可以用下列语法:
val price = "${'$'}9.99"
和 Java 一样,Kotlin 可以用 + 操作符连接字符串。这也适用于连接字符串与其他类型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。以下是转义字符串的一个示例:
val s = "Hello, world!\n" // \n换行
val s2= "{\"key\":\"value\"}" // \反斜杠对""进行转义,保留字符串格式
字符串使用三个引号(""")分界符括起来,内部没有转义并且可以包含换行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
还可以通过 trimMargin() 函数去除前导空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
类型强制转换
在 Kotlin 中与 Java 不同是通过调用 toInt、toDouble、toFloat 之类函数来实现数字类型的强制转换的。
| 类型 | 强转函数 |
|---|---|
| Byte | toByte() |
| Short | toShort() |
| Int | toInt() |
| Long | toLong() |
| Float | toFloat() |
| Double | toDouble() |
| Char | toChar() |
val number =100 //声明一个整形 number对象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
数字运算
四则运算
除法/:
val number = 3 / 2
println(number) // 输出 1val floatNumber = 3 / 2.toDouble()
println(number) // 输出 1.5
乘法*:
val number = 3 * 2
println(number) // 输出 6
加法+:
val number = 3 + 2
println(number) // 输出 5
减法-:
val number = 3 - 2
println(number) // 输出 1
取余%:
val number = 3 % 2
println(number) // 输出 1
位运算
Kotlin 中的位运算和 Java 不同的是没有用特殊符号来表示,可以采用了中缀函数方式调用具名函数。
shl(bits)– 有符号左移【shl是Shift Logical Left的缩写】shr(bits)– 有符号右移ushr(bits)– 无符号右移and(bits)– 位与or(bits)– 位或inv()– 位非xor(bits)– 位异或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin项目无法运行java-main方法解决方案
<option name="delegatedBuild" value="false" />
Kotlin基本数值类型
基本数据类型包括 Byte、Short、Int、Long、Float、Double
整数类型
| 类型 | 位宽 | 最小值 | 最大值 |
|---|---|---|---|
| Byte | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
| Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默认是 Int 类型
val bigNumber = 8000000000 //超过 Int 最大值默认是 Long 类型
val longNumber = 20L //数字后面显式加L,表示声明 Long 类型
val byteNumber:Byte = 1
Tips
所有未超出 Int 最大值的整型值初始化的变量都默认为Int类型,如果初始值超过了其最大值,那么推断为Long类型。在数字值后面显式添加L表示一个Long类型
Float、Double浮点类型
Kotlin 中提供了 Float 和 Double 两种类型来分别表示单精度和双精度的浮点数类型。
| 类型 | 位宽 |
|---|---|
| Float | 32 |
| Double | 64 |
val doubleNumber = 3.1415928888 //默认是Double类型
val floatNumber = 3.1415928888f //尾部加f或F显式表示这是一个Float类型的浮点数
Tips
Kotlin 对于小数的默认推断是Double类型。如果需要显式将一个小数指定为Float类型需要在数值尾部加入f或F。由于Float类型十进制位数是6位,所以上述例子中floatNumber实际值大小为3.1415926,后面就会出现进度丢失舍弃。
在 Kotlin 中还有一点与 Java 不同的是,Kotlin 中数字不存在隐式的拓宽转换。比如一个函数参数为Double 的函数只能接收 Double 类型,不能接收 Float、Int 或者其他数字类型
字符类型
在 Kotlin 中字符用 Char 类型表示
fun testChar(char: Char) {if(char == 4) {...}//此处会提示类型不匹配的异常
}
字符的值需要用单引号括起来: '0'、'9'。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 显式转换为数字
}
布尔类型
在 Kotlin 使用Boolean表示布尔类型,它只有两个值 true 和 false。注意可空类型Boolean?类型会存在装箱操作。
val isVisible: Boolean = falseval isVisible = false //自动推断为布尔Boolean类型
字符串类型
在 Kotlin 中字符串用 String 类型表示。字符串是不可变的。 字符串的元素——字符可以使用索引运算符访问: s[i]。 可以用 for 循环迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($)开头,由一个简单的名字构成:
val number = 100
println("The Result is $number")
或者用花括号${}括起来的任意表达式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串与转义字符串内部都支持模板。 如果你需要在原始字符串中表示字面值 $ 字符(它不支持反斜杠转义),你可以用下列语法:
val price = "${'$'}9.99"
和 Java 一样,Kotlin 可以用 + 操作符连接字符串。这也适用于连接字符串与其他类型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。以下是转义字符串的一个示例:
val s = "Hello, world!\n" // \n换行
val s2= "{\"key\":\"value\"}" // \反斜杠对""进行转义,保留字符串格式
字符串使用三个引号(""")分界符括起来,内部没有转义并且可以包含换行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
还可以通过 trimMargin() 函数去除前导空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
类型强制转换
在 Kotlin 中与 Java 不同是通过调用 toInt、toDouble、toFloat 之类函数来实现数字类型的强制转换的。
| 类型 | 强转函数 |
|---|---|
| Byte | toByte() |
| Short | toShort() |
| Int | toInt() |
| Long | toLong() |
| Float | toFloat() |
| Double | toDouble() |
| Char | toChar() |
val number =100 //声明一个整形 number对象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
数字运算
四则运算
除法/:
val number = 3 / 2
println(number) // 输出 1val floatNumber = 3 / 2.toDouble()
println(number) // 输出 1.5
乘法*:
val number = 3 * 2
println(number) // 输出 6
加法+:
val number = 3 + 2
println(number) // 输出 5
减法-:
val number = 3 - 2
println(number) // 输出 1
取余%:
val number = 3 % 2
println(number) // 输出 1
位运算
Kotlin 中的位运算和 Java 不同的是没有用特殊符号来表示,可以采用了中缀函数方式调用具名函数。
shl(bits)– 有符号左移【shl是Shift Logical Left的缩写】shr(bits)– 有符号右移ushr(bits)– 无符号右移and(bits)– 位与or(bits)– 位或inv()– 位非xor(bits)– 位异或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin项目无法运行java-main方法解决方案
<option name="delegatedBuild" value="false" />
Kotlin基本数值类型
基本数据类型包括 Byte、Short、Int、Long、Float、Double
整数类型
| 类型 | 位宽 | 最小值 | 最大值 |
|---|---|---|---|
| Byte | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
| Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默认是 Int 类型
val bigNumber = 8000000000 //超过 Int 最大值默认是 Long 类型
val longNumber = 20L //数字后面显式加L,表示声明 Long 类型
val byteNumber:Byte = 1
Tips
所有未超出 Int 最大值的整型值初始化的变量都默认为Int类型,如果初始值超过了其最大值,那么推断为Long类型。在数字值后面显式添加L表示一个Long类型
Float、Double浮点类型
Kotlin 中提供了 Float 和 Double 两种类型来分别表示单精度和双精度的浮点数类型。
| 类型 | 位宽 |
|---|---|
| Float | 32 |
| Double | 64 |
val doubleNumber = 3.1415928888 //默认是Double类型
val floatNumber = 3.1415928888f //尾部加f或F显式表示这是一个Float类型的浮点数
Tips
Kotlin 对于小数的默认推断是Double类型。如果需要显式将一个小数指定为Float类型需要在数值尾部加入f或F。由于Float类型十进制位数是6位,所以上述例子中floatNumber实际值大小为3.1415926,后面就会出现进度丢失舍弃。
在 Kotlin 中还有一点与 Java 不同的是,Kotlin 中数字不存在隐式的拓宽转换。比如一个函数参数为Double 的函数只能接收 Double 类型,不能接收 Float、Int 或者其他数字类型
字符类型
在 Kotlin 中字符用 Char 类型表示
fun testChar(char: Char) {if(char == 4) {...}//此处会提示类型不匹配的异常
}
字符的值需要用单引号括起来: '0'、'9'。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 显式转换为数字
}
布尔类型
在 Kotlin 使用Boolean表示布尔类型,它只有两个值 true 和 false。注意可空类型Boolean?类型会存在装箱操作。
val isVisible: Boolean = falseval isVisible = false //自动推断为布尔Boolean类型
字符串类型
在 Kotlin 中字符串用 String 类型表示。字符串是不可变的。 字符串的元素——字符可以使用索引运算符访问: s[i]。 可以用 for 循环迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($)开头,由一个简单的名字构成:
val number = 100
println("The Result is $number")
或者用花括号${}括起来的任意表达式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串与转义字符串内部都支持模板。 如果你需要在原始字符串中表示字面值 $ 字符(它不支持反斜杠转义),你可以用下列语法:
val price = "${'$'}9.99"
和 Java 一样,Kotlin 可以用 + 操作符连接字符串。这也适用于连接字符串与其他类型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。以下是转义字符串的一个示例:
val s = "Hello, world!\n" // \n换行
val s2= "{\"key\":\"value\"}" // \反斜杠对""进行转义,保留字符串格式
字符串使用三个引号(""")分界符括起来,内部没有转义并且可以包含换行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
还可以通过 trimMargin() 函数去除前导空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
类型强制转换
在 Kotlin 中与 Java 不同是通过调用 toInt、toDouble、toFloat 之类函数来实现数字类型的强制转换的。
| 类型 | 强转函数 |
|---|---|
| Byte | toByte() |
| Short | toShort() |
| Int | toInt() |
| Long | toLong() |
| Float | toFloat() |
| Double | toDouble() |
| Char | toChar() |
val number =100 //声明一个整形 number对象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
数字运算
四则运算
除法/:
val number = 3 / 2
println(number) // 输出 1val floatNumber = 3 / 2.toDouble()
println(number) // 输出 1.5
乘法*:
val number = 3 * 2
println(number) // 输出 6
加法+:
val number = 3 + 2
println(number) // 输出 5
减法-:
val number = 3 - 2
println(number) // 输出 1
取余%:
val number = 3 % 2
println(number) // 输出 1
位运算
Kotlin 中的位运算和 Java 不同的是没有用特殊符号来表示,可以采用了中缀函数方式调用具名函数。
shl(bits)– 有符号左移【shl是Shift Logical Left的缩写】shr(bits)– 有符号右移ushr(bits)– 无符号右移and(bits)– 位与or(bits)– 位或inv()– 位非xor(bits)– 位异或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin项目无法运行java-main方法解决方案
<option name="delegatedBuild" value="false" />

作者其他作品:
【Java】Spring循环依赖:原因与解决方法
OpenAI Sora来了,视频生成领域的GPT-4时代来了
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
【Java】深入理解Java中的static关键字
[Java·算法·简单] LeetCode 28. 找出字a符串中第一个匹配项的下标 详细解读
了解 Java 中的 AtomicInteger 类
算法题 — 整数转二进制,查找其中1的数量
深入理解MySQL事务特性:保证数据完整性与一致性
Java企业应用软件系统架构演变史
相关文章:
kotlin数据类型
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 Kotlin基本数值类型 基本数据类型包括 Byte、Short、Int、Long、Float、Double 整数类型 类型位宽最小值最大…...
[GWCTF 2019]babyvm
第一次接触VM逆向 先粘一下对我很有帮助的两篇佬的博客 系统学习vm虚拟机逆向_vmp 虚拟机代码逆向-CSDN博客 这篇去学习vm逆向到底是什么 我的浅显理解啊,就是和汇编的定义差不多,规定一个函数,用什么其他的名字 然后这道题 [GWCTF 2019]babyvm 详解 (vm逆向 …...
PyTorch论文
2019-12 PyTorch: An Imperative Style, High-Performance Deep Learning Library 设计迎合4大趋势: 1. array-based (Tensor) 2. GPU加速 3. 自动求导 (Auto Differentiation) 4. 拥抱Python生态 4大设计原则: 1. 使用算法和数据开发者熟悉的Python做编…...
【Python实战因果推断】37_双重差分8
目录 Diff-in-Diff with Covariates Diff-in-Diff with Covariates 您需要学习的 DID 的另一个变量是如何在模型中包含干预前协变量。这在您怀疑平行趋势不成立,但条件平行趋势成立的情况下非常有用: 考虑这种情况:您拥有与之前相同的营销数…...
【python学习】第三方库之matplotlib的定义、功能、使用场景和代码示例(线图、直方图、散点图)
引言 Matplotlib 是一个 Python 的 2D 绘图库,它可以在各种平台上以各种硬拷贝格式和交互环境生成具有出版品质的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图、直方图、功率谱、条形图、错误图、散点图等 Matplotlib 是 …...
MySQL(3)表的操作
目录 1. 表的操作; 2. 数据类型; 1. 表的操作: 1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表…...
SQL GROUPING运算符详解
在大数据开发中,我们经常需要对数据进行分组和汇总分析。 目录 1. GROUPING运算符概念2. 语法和用法3. 实际应用示例4. GROUPING运算符的优势5. 高级应用场景5.1 与CASE语句结合使用5.2 多维数据分析 6. 性能考虑和优化技巧7. GROUPING运算符的局限性8. 最佳实践9. GROUPING与其…...
在VS2017下FFmpeg+SDL编写最简单的视频播放器
1.下载ShiftMediaProject/FFmpeg 2.下载SDL2 3.新建VC控制台应用 3.配置include和lib 4.把FFmpeg和SDL的dll 复制到工程Debug目录下,并设置调试命令 5.复制一下mp4视频到工程Debug目录下(复制一份到*.vcxproj同一目录,用于调试) 6…...
LogViewer v2.x更新
logvewer 介绍 logviewer 是一个可以方便开发人员通过浏览器查看和下载远程服务器集群日志,使用ssh方式管理远程tomcat、jar包等应用,节省服务器资源。大家可以下载体验,请勿用于生产环境。欢迎提出意见或建议。 解决的问题 一般情况下公司…...
detection_segmentation
目标检测和实例分割(OBJECT_DETECTION AND INSTANCE SEGMENTATION) 文章目录 目标检测和实例分割(OBJECT_DETECTION AND INSTANCE SEGMENTATION)一. 计算机视觉(AI VISION)1. 图像分类2. 目标检测与定位3. 语义分割和实例分割目标检测算法可以分为两大类: R-CNN生成…...
0基础学python-13:古希腊掌管时间的模块——datetime和time
目录 前言 datetime模块 一、datetime 类 1.创建 datetime 对象 2.获取日期时间的各个部分 3.格式化日期时间为字符串 4.解析字符串为 datetime 对象 二、timedelta 类 1.创建 timedelta 对象 datetime注意事项 time模块 1.获取当前时间戳 2.获取当前时间的结构化表…...
棒球特长生升学具有其独特的优势和劣势·棒球6号位
棒球特长生升学具有其独特的优势和劣势,以下是对这两方面的详细分析: 获得更好的教育资源: 棒球特长生有机会通过棒球特长招生计划进入更好的学校。这些学校往往拥有更优质的教育资源,包括师资力量、教学设施、课程设置等&#…...
搜维尔科技:Xsens DOT 可穿戴传感器介绍及示例应用演示
Xsens DOT可穿戴传感器介绍及示例应用演示 搜维尔科技:Xsens DOT 可穿戴传感器介绍及示例应用演示...
数据分析案例-2024 年热门动漫数据集可视化分析
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
C#小结:未能找到类型或命名空间名“xxx”(是否缺少 using 指令或程序集引用?)
方案一:移除类库这些失效的引用,下载对应版本的dll(如有则不需要重复下载),重新添加引用 方案二:类库右键属性-调整目标框架版本(一般是降低版本) 方案三:调整类库编译顺…...
STM32智能无人机控制系统教程
目录 引言环境准备智能无人机控制系统基础代码实现:实现智能无人机控制系统 4.1 数据采集模块 4.2 数据处理与控制算法 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:无人机管理与优化问题解决方案与优化收尾与总结 1. 引言 智能无人机控…...
从 QWebEnginePage 打印文档
QWebEnginePage 是 Qt WebEngine 模块中的一个类,它提供了用于处理网页内容的接口。如果你想要打印 QWebEnginePage 中的内容,你可以使用 QPrinter 和 QPrintDialog 类来实现。 项目配置了 Qt WebEngine 模块,并且在你的.pro文件中包含了相应…...
初识Docker及管理Docker
Docker部署 初识DockerDocker是什么Docker的核心概念镜像容器仓库 容器优点容器在内核中支持2种重要技术:Docker容器与虚拟机的区别 安装Docker源码安装yum安装检查Docker Docker 镜像操作配置镜像加速器(阿里系)搜索镜像获取镜像查看镜像信息…...
【学术会议征稿】2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)
2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024) 2024 3rd International Conference on Informatics,Networking and Computing (ICINC 2024) 2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)将于2024年10月25-27日于中国郑州召…...
在golang中Sprintf和Printf 的区别
最近一直在学习golang这个编程语言,我们这里做一个笔记就是 Sprintf和Printf 的区别 fmt.Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。 fmt.Printf 根据格式化参数生成格式化的字符串并写入标准输出。由上面就可以知道,fmt.Sprintf返回的…...
JAVA重点基础、进阶知识及易错点总结(17)线程安全 synchronized 同步锁
🚀 Java 巩固进阶 第17天 主题:线程安全 & synchronized 同步锁 —— 并发编程的第一道防线📅 进度概览:今天攻克 多线程最核心难题:线程安全。这是面试必考、生产环境必用的知识点,直接决定你的代码能…...
告别模糊:手把手教你用LAMBDA算法搞定GNSS整周模糊度(附Python代码示例)
告别模糊:手把手教你用LAMBDA算法搞定GNSS整周模糊度(附Python代码示例) 当你在开发高精度定位系统时,是否曾被整周模糊度问题困扰?这个看似简单的整数解问题,实际上影响着厘米级定位的成败。作为GNSS领域的…...
实时信号处理中的滤波器选型实战指南:从需求分析到性能优化
实时信号处理中的滤波器选型实战指南:从需求分析到性能优化 【免费下载链接】gnuradio GNU Radio – the Free and Open Software Radio Ecosystem 项目地址: https://gitcode.com/gh_mirrors/gn/gnuradio 一、需求分析:明确滤波器设计目标 在开…...
Windows ISO制作与补丁集成自动化工具实战指南:从手动操作到批量部署的效率革命
Windows ISO制作与补丁集成自动化工具实战指南:从手动操作到批量部署的效率革命 【免费下载链接】Win_ISO_Patching_Scripts Win_ISO_Patching_Scripts 项目地址: https://gitcode.com/gh_mirrors/wi/Win_ISO_Patching_Scripts 在数字化时代,系统…...
AI+Python 双驱动计量经济学:从多源数据处理到 SCI 论文--多源数据处理、机器学习预测及复杂因果识别全流程实战随机森林模型核心技术
为什么你自学了这么久,还是做不出成果?很多科研人做计量经济学研究,最大的问题不是不够努力,而是没有一套完整的全链条体系:只学了模型操作,却不懂底层理论,换个研究问题、换个数据集就不会做了…...
python协同过滤算法的基于python二手物品交易网站系统
目录同行可拿货,招校园代理 ,本人源头供货商协同过滤算法在二手物品交易网站中的应用用户行为数据收集基于用户的协同过滤基于物品的协同过滤混合推荐策略冷启动问题处理实时推荐更新推荐结果评估代码实现示例系统功能整合性能优化项目技术支持源码获取详细视频演示 ࿱…...
基于Maxwell的750W内转子伺服电机设计:14极12槽优化方案解析
基于maxwwell设计的经典750W,3000RPM 内转子 私服电机,14极12槽,外径76 轴向长度56.7 ,转矩1Nm,直流母线12V,辅助槽优化了齿槽转矩,特色是转子加工方便,永磁同步电机(PMSM BLDC&…...
如何三步搞定iOS微信聊天记录完整导出:隐私保护与数据备份终极指南
如何三步搞定iOS微信聊天记录完整导出:隐私保护与数据备份终极指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 还在为无法永久保存重要微信对话而烦恼吗&…...
ESP8266天气时钟DIY全攻略:从零搭建到个性化定制
1. 硬件准备与成本控制 作为一个玩了多年智能硬件的爱好者,我强烈推荐从ESP8266开始入门物联网项目。这款芯片的价格实在太香了,9块钱就能买到NodeMCU开发板,性能却足够应付大多数DIY场景。我去年做过统计,用ESP8266搭建的天气时钟…...
[C语言]控制台扫雷游戏
用精简的代码,回顾数组、函数和游戏逻辑的核心应用。还记得Windows自带的扫雷吗?这次我们用C语言实现一个9x9的简易版,适合用来巩固函数封装、二维数组和随机数等知识点。1. 整体思路 扫雷的核心功能可以拆成几块: 打印菜单&#…...
