首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin学习日志(二)数据类型

一、基本数据类型 Kotlin的基本数据类型和其他高级语言得分类一样,包括整型、长整型、浮点型、双精度、布尔类型、字符型、字符串这几种常见类型,这样说可能过于抽象,那就和java中的基础数据类型来对比一下吧...1.1变量声明 接下来声明一个变量了, Java的写法如下: int i = 0; Kotlin的写法如下: var i:Int = 0 解释:上面的 var 表示后面是一个变量声明语句,后面是“变量名...:变量类型”的格式声明,不同于Java中常见的“变量类型:变量名”这种格式,(PS:这个在刚开始接触Kotlin的时候很容易搞混,用久了就可以了),后面是没有分号的,Java则有,在Kotlin中如果你后面还有其他语句的话则要加上分号...1.2变量转换 Kotlin中进行数据转换和Java中不同,就不一一对比了,直接说Kotlin中如何进行数据类型转换,Kotlin中都是使用类型转换函数来进行数据类型转换的,让我们来认识一下,如下表 Kotlin...,Kotlin中不存在名为StringArray的数组类型,因为String是一种特殊的基本数据类型,要想在Kotlin中声明字符串数组,得使用Array类型,同时,分配字符串数组的方法也变成了

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kotlin入门(16)容器的遍历方式

    不过Kotlin作为一门全新的语言,肯定还是要有自己的容器类,不然哪天Java跟Kotlin划清界限,那麻烦就大了。...方法用于删除指定对象,但无法删除某个位置的元素,这是因为集合内的元素不是按顺序排列的; 对于集合的遍历操作,Kotlin提供了好几种方式,有熟悉的for循环,有迭代器循环,还有新面孔forEach循环,...三种循环遍历的用法说明如下: 1、for-in循环 与Java类似,通过for语句加上in条件,即可轻轻松松依次取出集合中的所有元素。...下面是运用了for-in循环的代码例子:     btn_set_for.setOnClickListener {         var desc = ""         //使用for-in语句循环取出集合中的每条记录...为了将代码精简做到极致,Kotlin给容器创造了forEach方法,明确指定该方法就是要依次遍历容器。

    2.4K20

    使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间

    作者 / 软件工程师 Ting-Yuan Huang 和 Jiaxiang Chen Kotlin Symbol Processing (KSP)——用于在 Kotlin 中构建轻量级编译器插件的全新工具现已推出稳定版本...多年来,我们一直在稳步优化 Android 构建工具链,现在我们非常高兴能够通过 KSP 来实现这些优化。...但是创建这些存根的成本很高,这意味着编译器必须多次解析程序中的所有符号 (一次生成存根,另一次完成实际编译)。 KSP 不使用存根生成模型,而是作为 Kotlin 编译器插件运行。...此举大幅提升了构建速度 (对于 Room 的 Kotlin 测试应用 而言速度提高了 2 倍),同时也意味着 KSP 可以在非 Android 以及非 JVM 环境 (如 Kotlin/Native 和...test-processor 库 使用库: 显示如何在实际 Kotlin 项目中使用构建器处理器的 workload 目录 如果您是应用开发者,请查看 支持库列表 以及 快速入门 指南,了解如何将模块从

    3.7K10

    Android面试题之 Kotlin中退出迭代器的方式有哪些

    在Kotlin中,我们同样可以使用迭代器来遍历集合,并通过条件判断和break语句提前退出循环。Kotlin提供了对迭代器的良好支持,可以轻松地进行集合的遍历和控制流程。...break // 提前退出循环 } } println("Iteration completed.") } 在这个Kotlin示例中,我们创建了一个包含四个字符串元素的列表...当遍历到 "Item 3" 时,通过条件判断和break语句提前退出循环。 使用Kotlin的forEach Kotlin还提供了更多的集合遍历方式。...比如可以使用forEach高阶函数来遍历集合,并通过自定义标签和return来控制流。这在某些情况下比传统的迭代器和break语句更简洁和优雅。...return@forEach // 提前退出循环 } } println("Iteration completed.") // 该语句依然会被执行 } 在上述示例中

    13910

    【Kotlin】字符串操作 ② ( 字符串替换函数 replace | 字符串比较操作符 == 和 === | 字符串遍历 forEach )

    文章目录 一、字符串替换函数 replace 二、字符串比较操作符 == 和 === 三、字符串遍历 forEach 一、字符串替换函数 replace ---- 字符串替换函数 replace 函数原型如下...: /** * 返回一个新字符串,通过替换此字符序列中匹配给定正则表达式的每个子字符串获得 * 用给定的[替换]。...来处理替换字符串 * 使用[kotlin.text.Regex.Companion.escapeReplacement]方法进行转义。...r%d 二、字符串比较操作符 == 和 === ---- Kotlin 语言中的字符串比较操作符 : == 的作用是 比较 两个字符串 的 字符内容是否 相等 ; 相当于 Java 中的 equals...- 调用 字符串 String 的 forEach 函数 , 可以 遍历字符串中的每个字符 , 并且 针对该字符 执行相应 Lambda 表达式 的操作 ; 在 forEach 函数 中 , 可以通过

    1.6K20

    Kotlin:05-控制流 if、when、for、while

    一、if 表达式 在 Kotlin 中,if 既可以作为普通的判断语句使用,也可以作为表达式使用。 当 if 作为表达式使用时,本身就会有返回值,其效果等同于 java 中的三元运算。...When 既可以当做表达式使用,也可以当做语句使用。 当做语句使用时,效果等同于 java 中的 switch 当做表达式使用时,会有返回值,符合条件的分支的值就是整个表达式的值。...)的对象进行遍历,等同于 java 中的 foreach 循环。...(三)、补充:forEach kotlin中遍历的时候,我们也可以使用 forEach ( ){ }, 需要注意的是: 使用 forEach 函数时, 被遍历到的数据 使用固定的字符 it 表示。...四、While 循环 Kotlin 中的 while 和 do...while 与java中的并没有区别,使用的方式是一致的。

    1.5K10

    教你如何用AST语法树对代码“动手脚”

    void someMethod(){     String rst=callAnotherMethod();     LogUtil.log(TAG,”这里是一条非常非常长,比唐僧还啰嗦的日志信息描述,...();     LogUtil.log(TAG,””+rst); …… } 图二 此题需要把代码中和程序逻辑无关的字符串提取出来,替换为id。...你可能会想通过万能的“正则表达式”匹配替换,但当代码较为复杂时(如下图所示),使用“正则表达法”则会将问题复杂化,难以确保所有代码的完美覆盖并匹配。若通过AST语法树,可以很好地解决此问题。...众所周知,Java 编译流程(上图)中也有对AST语法树的提取处理,那是否可以在此环节操作语法树呢?由于编译链代码栈太深,鲜有对外的接口和文档,使得其可操作性不强。...对应的代码较为简短, 使用github的 Netflix-Skunkworks/rewrite开源库与kotlin语言,能读懂Java的你也一定能读明白。

    2.7K60

    Kotlin 编码规约

    验证风格指南中描述的其他问题(如命名约定)的附加探查项默认已启用。...源代码组织 目录结构 在混合语言项目中,Kotlin 源文件应当与 Java 源文件位于同一源文件根目录下,并遵循相同的目录结构(每个文件应存储在与其 package 语句对应的目录中 )。...在纯 Kotlin 项目中,推荐的目录结构遵循省略了公共根包的包结构(例如,如果项目中的所有代码都位于“org.example.kotlin”包及其子包中,那么“org.example.kotlin”包的文件应该直接放在源代码根目录下...,而 “org.example.kotlin.foo.bar”中的文件应该放在源代码根目录下的“foo/bar”子目录中)。...例外:forEach(优先使用常规的 for 循环,除非 forEach 的接收者是可空的或者 forEach 用做长调用链的一部分。)

    3.2K22

    《Kotlin极简教程》第3章 Kotlin语言基础第3章 Kotlin语言基础《Kotlin极简教程》正式上架:参考资料

    在Kotlin中,更简洁的、更常用的场景是:只要可能,尽量在Kotlin中首选使用val不变值。因为事实上在程序中大部分地方使用不可变的变量,可带来很多益处,如:可预测的行为和线程安全。...3.5.1 if表达式 if-else语句是控制程序流程的最基本的形式,其中else是可选的。 在 Kotlin 中,if 是一个表达式,即它会返回一个值(跟Scala一样)。...kotlin 中 return 语句会从最近的函数或匿名函数中返回,但是在Lambda表达式中遇到return,则直接返回最近的外层函数。...这些操作符具有固定的符号表示(如 + 或 *)和固定的优先级。...安全调用在链式调用中很有用。在调用链中如果任意一个属性(环节)为空,这个链式调用就会安全返回 null。

    1.7K20

    Kotlin 语言入门宝典 | Android 开发者 FAQ Vol.5

    导语: 官方出的 FAQ ,kotlin是兼容 java 6.0 的 jvm 语言,此篇 FAQ 中,大概需要重点关注的大概是 APK 的影响吧: Kotlin 在运行时可能会在您的 debug APK...中增加 7000 个方法和 1M 的大小,如果您使用 Kotlin 替换如 Guava、RxJava 等其他的库,影响可能会小一些。...如果您在使用中遇到了问题请参考以下链接中的 “Kotlin 在 Android Studio 的常见问题” 如何在 Android Studio 中使用 Kotlin?.../main/kotlin/” 代替,如果您需要这样做,只需要在您的配置中添加下面的语句就可以了。...Kotlin 在运行时可能会在您的 debug APK 中增加 7000 个方法和 1M 的大小,如果您使用 Kotlin 替换如 Guava、RxJava 等其他的库,影响可能会小一些。

    2.6K60

    31 天,从浅到深轻松学习 Kotlin

    这只是替换空作为值或者返回事件情况的一个小语法。 Day 3:String 模板 格式化字符串?将$放在变量名的前面去表达字符串中的变量和表达式。使用 ${expression} 求表达式的值。...Foreach 循环将使用扩展名! 第二周学习小结: 这周我们更深入学了 Kotlin 的特性:简洁 bundle,迭代,Data,postDelay,默认参数,序列化。...kotlin 可以使您制定一个 inline 的方法 -- 这意味着调用将替换方法体,用很非常简单的方法来生成 lambda 的接口。 Day 20:运算符重载 用操作符重载快更快速写 Kotlin。...第三周学习小结: 本周主要讨论一些基本的 Kotlin 特性,如运算符重载,内联,运算符重载,懒加载,以及非常强大的 inLine,并展示了使用 Android KTX 处理内容值,捆绑包和回调时如何编写更简洁的代码...如果您永远不会终止一个序列,它可以是无限长的而不会耗尽内存。使用 Kotlin 中的协程您也可以使用生成器!

    2.2K30

    mysql介绍+php效率常识

    先看mysql手册中find_in_set函数的语法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N...12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。...13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。 14、用@屏蔽错误消息的做法非常低效,极其低效。...15、打开apache的mod_deflate模块,可以提高网页的浏览速度。 16、数据库连接当使用完毕时应关掉,不要用长连接。 17、错误消息代价昂贵。 18、在方法中递增局部变量,速度是最快的。...几乎与在函数中调用局部变量的速度相当。 19、递增一个全局变量要比递增一个局部变量慢2倍。 20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

    2.9K90

    Kotlin入门学习,从零基础入门到精通 ,Kotlin超详细教程

    控制流语句:包括条件分支(if-else、when)、循环语句(for、while)等。 函数定义与调用:使用fun关键字定义函数,函数可以有参数和返回值。...如何学习该知识 通过编写简单的Kotlin代码,练习变量声明、数据类型使用、控制流语句和函数定义与调用。 阅读Kotlin官方文档或相关教程,深入理解Kotlin语法基础。...继承与多态:Kotlin支持类的继承和多态性,子类可以重写父类的方法。 接口与抽象类:Kotlin中的接口和抽象类用于定义类的行为规范和抽象方法。...集合操作:Kotlin集合类提供了丰富的操作方法,如filter、map、fold、forEach等。 区间表达式:Kotlin支持区间表达式,用于表示一系列连续的值。...Channel:Kotlin协程中的Channel用于在协程之间传递数据。 如何学习该知识 通过编写包含协程和异步代码的Kotlin代码,练习使用这些特性。

    30210

    还在用kapt吗? 试试ksp吧 | 项目复盘

    官方对于ksp的介绍就是,这是一个轻量级替换kapt的一个方案,优点就是速度更快,参数更少更简单一点。但是天下武功唯快不破啊,编译速度提升这种事情吧,毕竟都很难。...这里的ksp就是负责生成的META-INF文件夹的,编译流程中其实atuoservice其实还是有很多地方被使用到的。...java中的jar包并不止有.class还有META-INFO,这个文件夹会附带一些额外的信息。举个例子,koltin中的版本信息就是放在这个文件夹下面的。...,判断当前语法树中是不是有java的注解,如果有则抛出异常。...如何接入 上面我们就基本完成了ksp的解释器的开发了,那么就先看下如何在项目中使用吧。

    1.1K50

    Kotlin 之美

    ,而正则表达式只用来检索和替换文本,我们无法用 SQL 或者正则表达式来开发一个完整的应用。...基于该库的设计思路,我们甚至可以实现如下的代码风格,如同写英语句子一般简洁: "kotlin" should start with "kot" "kotlin" should have substring...综上,Kotlin DSL 所体现的代码结构有如下特点:链式调用,大括号嵌套,并且可以近似于英语句子。...总结 细细品味 Kotlin,你会发现她将代码整洁之道(Clean Code)和高效 Java 编程(Effective Java)中的部分精华融入到的语法和默认的规约中,因此她可以让开发者无形中写出整洁和高效的代码...而更进一步, Kotlin DSL 则是对 Kotlin 所有语法糖的一个大融合,她的代码结构通常是链式调用、lambda 嵌套,并且接近于日常使用的英语句子,我们可以愉悦的使用 DSL 风格的 API

    2.9K20
    领券