kotlin 中的字符串

news2024/10/5 14:40:31

一、字符类访问

1、字符串的访问跟js一样,可以使用索引来访问或者直接循环。
fun main() {
    val a: String = "2024"
    // 方式一:
    for (item in a) {
        println(item) // 输出每一个字符
    }
    // 方式二:
    println("${a[0]}, ${a[1]}, ${a[2]}, ${a[3]}") // 2, 0, 2, 4
}

二、不可变性

1、字符串是不可变的。一旦初始化了一个字符串,就不能改变它的值或者给它赋新值。所有转换字符串的操作都会以一个新的String 对象来返回结果,而保持原始字符串不变。
fun main() {
    val a: String = "abcd"
    val b: String = a.uppercase() // 转大写
    println(a) // abcd
    println(b) // ABCD
}

三、多行字符串

1、多行字符串以 """开始,"""结束,里边可以换行及包含任意文本。
// trimIndent 去掉每一行开头空白,同时也会移除尾部的换行符
fun main() {
    val a: String = """
        for (i in 1..10) {
            println(i)
        }
    """.trimIndent()
    println(a)
}

四、字符串模板

1、以$开头,$变量 或者 ${变量}

fun main() {
    val a: String = "1"
    println("a的值:${a}") // a的值:1
    // 或
    println("a的值:$a") // a的值:1
}
2、也可以在多行字符串中使用
fun main() {
    val a = "abc"
    val b: String = """
        ${a.length}
    """.trimIndent()
    println("b:${b}") // b:3
}

五、字符串格式化

1、要按照特定需求格式化字符串,请使用 String.format() 函数。

String.format() 函数接受一个格式字符串和一个或多个参数。格式字符串中包含一个占位符(由 % 表示)用于给定的参数,后面跟着格式说明符。格式说明符是对相应参数的格式化指令,由标志、宽度、精度和转换类型组成。综合起来,格式说明符决定了输出格式的样式。常见的格式说明符包括 %d 用于整数%f 用于浮点数,以及 %s 用于字符串

总结:

String.format() 函数允许你使用特定的格式模式来创建格式化的字符串输出

代码示例1:

fun main() {
    val name = "abc"
    val age = 20
    val str = String.format("name: %s, age: %d", name, age)
    println(str) // name: abc, age: 20
}

解释:
· %s 是一个占位符,表示字符串类型的值将被插入到这个位置。
· %d 是另一个占位符,用于整数值。
· name 和 age 分别是提供给这两个占位符的实际值。

代码示例2:

指定宽度和对齐

fun main() {
    val score = 95.5
    val f = String.format("score: %10.4f", score)
    println(f) // score:    95.5000
}

解释:
· %10.4f 表示总共占10个字符宽,其中小数点后保留两位。不足部分前面用空格填充,实现右对齐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纯干货科普!水浸传感器品牌该怎么选?

在现代化生产过程中,漏水是常见的安全隐患之一。特别是机房、档案馆等高精密设备较多的场合,一旦没有及时解决漏水问题,就有可能导致线路故障、设备损坏甚至业务办理。绝大部分管理人员会选择安装水浸传感器,它能够帮我们及时检测…

bugku---misc---easy_nbt

1、题目描述 2、下载附件,解压之后得到 3、查找资料发现:NBT文件是Minecraft游戏数据文件,其中包含以命名二进制标签(NBT)格式保存的数据。这种格式用于存储大量二进制数据,通常包含有关Minecraft世界的信息。NBT数据通常以.dat文…

2024 全球软件研发技术大会官宣,50+专家共话软件智能新范式!

2024年的全球软件研发技术大会(SDCon)由CSDN和高端IT咨询与教育平台Boolan联合主办,将于7月4日至5日在北京威斯汀酒店举行。本次大会的主题为“大模型驱动软件智能化新范式”,旨在探讨大模型和开源技术的发展如何引领全球软件研发…

Xmind导入纯文本TXT方法

最近有很多同事咨询我如何在xmind直接导入纯文本txt笔记或者思维导图呢? 解决办法如下: 1.先打开xmind随便打开一个思维导图-文件-导出-marldown 2.选中导出的markdown文件。右键-打开方式-苹果系统选择文本编辑,Win系统选择记事本 3.按照图示…

计算机二级Access选择题考点

在Access中,若要使用一个字段保存多个图像、图表、文档等文件,应该设置的数据类型是附件。在“销售表"中有字段:单价、数量、折扣和金额。其中,金额单价x数量x折扣,在建表时应将字段"金额"的数据类型定义为计算。若…

用Vue3实现一个3D图的在线展示

本文由ScriptEcho平台提供技术支持 项目地址:传送门 代码相关技术博客 应用场景 该代码段用于创建一个带有社交媒体链接的欢迎卡片,用于网站或应用程序的登录页面或主页。 基本功能 该欢迎卡片提供以下功能: 显示欢迎信息和感谢访问网…

25年后回顾融智学新范式(感受人机互助新时代到了的愉悦,体验人机互助新时代的理解和表达的深入浅出)

25年后回顾融智学新范式 (不仅感受人机互助新时代到了的愉悦,更体验人机互助新时代的理解和表达的深入浅出) 一句话概述: 《融智学新范式》是一种创新的理论框架,它提出了协同智能主体的概念框架,通过严…

大模型高级 RAG 检索策略之流程与模块化

我们介绍了很多关于高级 RAG(Retrieval Augmented Generation)的检索策略,每一种策略就像是机器中的零部件,我们可以通过对这些零部件进行不同的组合,来实现不同的 RAG 功能,从而满足不同的需求。 今天我们…

连接查询-外连接(FULL JOIN)、内连接(JOIN)、自身连接

一、表与表之间存在着某种联系,如果一个查询必须在多个表之间完成,则需要用到连接查询 二、连接查询的SQL查询语句 格式: SELECT A1,A2,...,Am FROM R1,R2,..,Rn WH…

大厂Java面试题:详细描述MyBatis缓存的实现原理

大家好,我是王有志。今天给大家带来的是一道来自光大科技的 MyBatis 面试题:详细描述MyBatis缓存的实现原理。 在通过源码分析 MyBatis 一二级缓存的实现原理前,我先给出我的回答。 首先是 MyBatis 一级缓存的实现原理: MyBaits…

Clion控制台打印中文乱码

第一步 第二步 第三步 ctrlaltshift/ 把run.processes,with.pty

文字悬停效果

文字悬停效果 效果展示 CSS 知识点 CSS 变量使用回顾-webkit-text-stroke 属性的运用与回顾 页面整体结构实现 <ul><li style"--clr: #e6444f"><a href"#" class"text">First</a></li><li style"--cl…

NiceGUI:让Python变身为Web应用开发大师的神器

简介 NiceGUI是一个易于使用的基于Python的UI框架&#xff0c;可以在您的Web浏览器中使用。您可以创建按钮、对话框、Markdown、3D场景、图表等等。 NiceGUI开源支持较好&#xff0c;代码更新频率较高&#xff0c;目前已经更新至: V1.4.26。 适用场景 NiceGUI非常适用于各种…

端点物联开发教程之(一)什么是端点物联

目录 一、手机端演示 二、开发套件 三、嵌入式端 四、平台端 五、手机端 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html 物…

BL104钡铼多协议采集网关助力企业智能化转型

BL104钡铼多协议采集网关&#xff08;PLC物联网关BL104&#xff09;是为满足工业环境需求而设计的专业工业级协议转换网关。它在企业智能化转型过程中扮演着关键角色&#xff0c;为企业提供了高效、稳定的通信解决方案&#xff0c;助力企业实现智能化转型。 首先&#xff0c;P…

可转债全部历史因子数据,提供api支持

今天在写可转债系统&#xff0c;顺便下载了一下服务器的可转债数据&#xff0c;给大家研究使用 from trader_tool.stock_data import stock_datafrom trader_tool.lude_data_api import lude_data_apiimport osclass convertible_bond_back_test_system: 可转债回测系统…

弱监督语义/实例/全景分割综述2022

摘要 我们从一个统一的角度总结了现有的高效标签图像分割方法&#xff0c;讨论了一个重要的问题:如何弥合弱监督和密集预测之间的差距——目前的方法大多是基于启发式先验&#xff0c;如跨像素相似性、跨标签约束、跨视图一致性和跨图像关系。最后&#xff0c;对标签高效深度图…

黑苹果睡眠总是自动唤醒(RTC)

黑苹果睡眠总是自动唤醒【RTC】 1. 问题2. 解决方案2.1. 查看重启日志2.2. 配置Disable RTC wake scheduling补丁 3. 后续4. 参考 1. 问题 黑苹果EFI 更换后&#xff0c;总是在手动 睡眠后&#xff0c;间歇性重启&#xff0c;然后再次睡眠&#xff0c;然后再重启。原因归结为&…

HX519 防倒流数据线芯片IC

一般概述 苹果iPhone防倒流数据线芯片&#xff0c;可完美支持iPhone、iPad、iPod等8针闪电接口的数据传输同步功能及充电功能。 特点 ❥集成度高&#xff0c;极少的外围元器件。 ❥电路简单&#xff0c;价格优势明显。 ❥稳定性高&#xff0c;兼容性强。 ❥与市面上普通…

meilisearch,老版本的文档

Elasticsearch 做为老牌搜索引擎&#xff0c;功能基本满足&#xff0c;但复杂&#xff0c;重量级&#xff0c;适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求&#xff0c;极快&#xff0c;单文件&#xff0c;超轻量。 所以&#xff0c;对于中小型项目来说…