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

Kotlin极简教程》第三章 Kotlin基本数据类型数字基本类型

逻辑非 数组 数组在 Kotlin 中使用 Array类来表示,它定义了 : get和 set函数(按照运算符重载约定这会转变为 []) size属性 以及一些其他有用成员函数: class...字符串元素——字符可以使用索引运算符访问: s[i] 可以用 for 循环迭代字符串: for (c in str) { println(c)} 字符串模板 字符串可以包含模板表达式 ,即一些小段代码...基本类型 在Kotlin中,所有东西都是对象,所以我们可以调用成员函数和属性任何变量对象。有些类型是内置,他们实现被优化过, 但是用户看起来他们就像普通类....Numbers Kotlin处理numbers和Java很接近,但是并不完全相同....,因为字面量类型是推导出来; 另一方面,算数运算操作都针对不同类型参数做好了重载,比如: val l = 1.toLong() + 3 // Long + Int => Long 运算符 Kotlin

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

Kotlin 程序设计》第三章 Kotlin 类型系统第三章 Kotlin 类型系统基本数据类型2.字符类型CharKotlin类型系统参考资料

Kotlin 类型表现起来有着高度一致性。 基本数据类型 在Java 中,有基本类型。这使得Java类型系统有点不伦不类。...Kotlin 处理数字在某种程度上接近 Java,但是并不完全相同。例如,对于数字没有隐式拓宽转换( Java 中 int 可以隐式转换为long),另外有些情况字面值略有不同。...可以用 foreach 循环迭代字符串: for (c in str) { println(c) } 字符串字面值 Kotlin 有两种类型字符串字面值: 转义字符串可以有转义字符,以及原生字符串可以包含换行和任意文本...x.equals(y)始终返回true或者始终返回false,没有提供任何信息进行相等比较对象被修改。...但是Kotlin中一个都没有,取而代之是两种其他实现:: declaration-site协变 类型预测(type projections) 首先,让我们想一下,为什么Java需要如此难以理解通配符

1.3K30

Kotlin语法基础之运算符

Kotlin语言包含了Java语言中所有运算符特性,并结合C语言优点,增加自定义运算符逻辑。...输出 :5 字符串连接符(+) 两个字符串可以连接在一起成为一个新字符串,这种操作被成为字符串连接,在Kotlin语言中连接字符串可以用 “+”。...这个时候,系统则会自动调用toString方法转化为字符串,进行拼接。这个时候则调用则是String重载plus方法,后面我们会具体介绍运算符重载,Kotlin中String源码如下: ?...Kotlin中绝大部分对象都是不能够容纳null,例如,基础类型中常规变量不能容纳null: var a: String = "abc" a = null // 编译错误 如果要允许为null,我们可以声明一个变量为可空字符串...如: // Elvis操作符获取b字符串长度,如果b为null则返回-1 val lenB = b?.length ?: -1 // 等同于逻辑 val lenA: Int = if (b !

2.9K50

kotlin和java语言_我希望Java可以从Kotlin语言中窃取10个功能

super T> comparator); }   上面是完全相同JDK Stream操作。 第一个简单地将Comparator.naturalOrder()应用于第二个。...显然,在Java 7中,字符串开关被认为足够通用以修改语言以允许它们。 为什么不使用instanceof开关?    ...但是Ceylon具有Java 42之前无法提供大量功能,我也不希望有独角兽。 我希望有安全调用运算符(还有Elvis运算符,两者稍有不同),也可以用Java实现。...因此,毫不奇怪,所有的String方法都是真正表达式,对不可变字符串进行操作,并始终返回字符串。    ...在Java中,这是不可能,这就是为什么Java新手在Stack Overflow上有一个不计其数问题 。 我为什么不能...

1.1K00

Kotlin:04-基本数据类型详细介绍

用 单引号 ‘ ’ 括起来内容都是字符。 注意: 在 kotlin 中不能直接当作数字参与算术运算!!...用 一对双引号 “ ” ,或者 一对三个引号 “”“ ”“” 括起来内容就是字符串。 那么,用 “ ” 括起来字符串和 “”“ ”“” 括起来内容有什么区别呢?...他们其实分别代表了两种字符串类型:转义型字符串 和 原样字符串(也可以叫原生或者原始字符串), 用 “ ” 括起来内容称为 转义字符串, 用 “”“ ”“” 括起来内容称为 原样字符串 (1)、原样字符串...println(str3) } 运行结果: 好了,到这里我想你就应该明白为什么它叫 转义字符串了吧?——支持转义字符,通过转义字符可以实现特殊效果 但是,你也可能会想,原样字符串不支持转义字符么?...[1] //使用索引运算符获取字符串元素 println(a) } 方式B:用 for 循环迭代字符串kotlin字符串也支持 for 循环,通过 for 循环我们也可以获取字符元素

1.7K30

从点滴基础探究Kotlin独特魅力

使用"when"处理枚举类 fun getMnemonic(color:Color) = //直接返回一个When表达式 when(color){ // 如果颜色和枚举常量相等就返回对应字符串...重构: 用"when" 代替 "if" kotlin没有三元运算符,因为if表达式有返回值.而当我们使用if时候,可以使用表达式语法: 去掉return语句和花括号,使用if表达式作为函数体. 1.使用有返回..."之间字符串,但是仍然可以使用in 运算符检查一个其他对象是否属于这个区间. 10 kotlin异常 与java类似,方法调用者能捕获到这个异常并处理它;如果没有被处理,异常会沿着调用栈再次抛出...在变量名称前加上 前缀 或者 用{ }包围一个表达式,来把值注入到字符串中.③ 值对象类在kotlin中简洁方式表示.④ kotlin if 是带返回表达式.⑤ when 表达式替代了...可以使用 in 运算符和 !in运算符来检查值是否属于某个区间.⑨ kotlin异常和java相似,除了kotlin不要求你声明函数可以抛出异常.

2.6K30

介绍Kotlin第一部分(翻译篇)

Kotlin变量 在Kotlin中声明变量有一些不同,我们有关键字val和var,这看起来很相似,但其实有一个重要区别: 当变量被声明为val时是不可变(只读),你只能给它分配一次值。...最后,我们将调用一个函数,这个函数将返回一个String,它使用字符串插值将它们解析并展示出来。 当向类添加其他构造函数时,我们需要调用它们原始构造函数。...} else{ println("Good job") } 这看起来与Java完全相同。但是也略有不同。 val three = 4 val goodOrNot = if(three !...如果Kotlin语句实际上是表达式,它返回它们块中最后一个值, b、when 我们常用switch-case与三元运算符有着同样命运,它已被Kotlinwhen所取代。...else -> print("I don't know what's going on anymore") } 同样,我们也可以使用when来返回具体值。虽然这看起来有点像if表达式。

64340

第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统

例如,Java中字符数组 char[] s = {'a', 'b', 'c'} 和字符串类型 String str = "abc" 就是最简单最典型抽象封装实例。...例如下面的代码,当为Int类型时候,a === b 返回是true; 而当为Int?时候, a===b 返回false 。...如果要转换类型与指定类型兼容,转换就会成功进行;如果类型不兼容,使用as?运算符就会返回值null。...本章小结 Kotlin通过引入可空类型,在编译时就大量“清扫了”空指针异常。同时,Kotlin中还引入了安全调用符(?.) 以及Elvis操作符( ?: ) , 使得我们代码写起来更加简洁。...Kotlin中还引入了Unit,Nothing等特殊类型,使得没有返回函数与永远不会返回函数有了更加规范一致签名。

2.1K20

PHP- 运算符-比较运算符(一)

等于运算符(==)等于运算符用于比较两个值是否相等,如果两个值相等,返回true,否则返回false。这个运算符会尝试将两个操作数转换为相同类型,并进行比较。...不等于运算符(!=)不等于运算符用于比较两个值是否不相等,如果两个值不相等,返回true,否则返回false。这个运算符也会尝试将两个操作数转换为相同类型,并进行比较。...全等于运算符(===) 全等于运算符用于比较两个值是否完全相同,即值相等且类型相同。如果两个值相等且类型相同,返回true,否则返回false。...,所以$x类型为整数,而$y类型为字符串。...不全等于运算符(!==) 不全等于运算符用于比较两个值是否不完全相同,即值不相等或类型不同。如果两个值不相等或类型不同,返回true,否则返回false

92840

Kotlin极简教程》第四章 Kotlin基础语法表达式Null Check循环枚举遍历Map拼接字符串基本类型

有些类型是内置,他们实现被优化过, 但是用户看起来他们就像普通类. 本节我们会描述这些类型: numbers, characters, booleans 和 arrays....Numbers Kotlin处理numbers和Java很接近,但是并不完全相同....,因为字面量类型是推导出来; 另一方面,算数运算操作都针对不同类型参数做好了重载,比如: val l = 1.toLong() + 3 // Long + Int => Long 运算符 Kotlin...它们也都有相应工厂方法: val x: IntArray = intArray(1, 2, 3) x[0] = x[1] + x[2] 字符串 字符串用String表示。字符串是不可变。...字符串可以使用for{: .keyword }循环遍历: for (c in str) { println(c) } 字符串字面量 Kotlin有两种类型字符串: 转义字符串可能由转义字符、原生字符串

83030

Kotlin】变量简介 ( 可空类型 | lateinit | 初始化判定 | 非空类型 | !! 与 ? 修饰符 | ?= ?. ?: 运算符 | 抽象属性变量)

本类中判定 : 延迟初始化 属性 只能在本类中使用 this::属性名称.isInitialized 进行判定 , 如果返回 true , 说明已经初始化 , 如果返回 false , 说明该属性还没有进行初始化...运算符 , 意思就是如果不为空 , 才获取值 , 如果为空 , 直接返回 null , 继续向后执行 ; class Student(){ var name : String ?...运算符 , 意思就是如果不为空 , 才获取值 , 如果为空 , 直接返回 null , 继续向后执行 ; class Student(){ var name : String ?...: 运算符 : 该运算符是双目运算符 , 作用是前者如果为空 , 那么取后者值 ; ① 与 Java 三木运算符 对比 : 在 Kotlin 中这个运算符与 Java 中不太一样 , 这也是一个双目运算符...:"Tom" 代码中 , student.name 为空 , 那么取值后面的 "Tom" 字符串 , 因此打印时候 , 打印 "Tom" 字符串 ; student.name?.length?

2.5K20

Kotlin入门(8)空值判断与处理

Kotlin研发人员当然不会放过这点,就像读者在上一篇文章中看到那样,Kotlin通过isNullOrBlank函数进行空值校验,下面列出Kotlin校验字符串空值几个方法: isNullOrEmpty...没有完成任务,Kotlin当然不会罢休,所以它又引入了一个运算符“?:”,学名叫做“Elvis 操作符”,叫起来有点拗口,读者可以把它当作是Java三元运算符“变量名=条件语句?...然而执拗Kotlin攻城狮觉得还是啰嗦,因为经常上一行代码就对strB赋值了,所以此时可以百分百保证strB非空,那又何必浪费口舌呢?于是Kotlin另外引入了运算符“!!”...相关操作符说明概括如下: 1、声明对象实例时,在类型名称后面加问号,表示该对象可以为空; 2、调用对象方法时,在实例名称后面加问号,表示一旦实例为空就返回null; 3、新引入运算符“?...:”,一旦实例为空就返回运算符右边表达式; 4、新引入运算符“!!”,通知编译器不做非空校验,运行时一旦发现实例为空就扔出异常; 点此查看Kotlin入门教程完整目录

4.3K10

Saleforce 基于 Kotlin 构建数据管道探索和实践

为了解决 Java 在数据管道方面的这些缺点,我们选择了 Kotlin 作为后端开发替代方案。 1为什么Kotlin?...第 4 行 it.deserialize() 是不是看起来比使用一些辅助类来反序列化数据更易读?...Kotlin 可以在一个文件中拥有多个类,并能够使用顶级函数,这让我们代码组织起来更轻松了,大大减少了我们需要导航文件数量。...这篇博文中还没具体介绍 Kotlin 中我们喜欢很多内容,例如扩展函数、类型别名、字符串模板、使用协程和 async-await 并发代码执行等。...这就是为什么它是 2020 年最受欢迎编程语言之一。我们将继续扩大其采用范围,同时用它来构建新管道、并将旧管道也逐渐切换到 Kotlin 上。

74110
领券