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

Android:这是一份全面 & 详细的Kotlin入门学习指南

基本语法入门 本节中,详细讲解Kotlin的基本语法,主要包括: 基本观念(对比于Java) 数据类型 类 变量 & 常量 函数 其他语法糖(控制流、类型检查 & 转换、安全性等) 4.1 基本观念...// 具体使用:同Array val x: IntArray = intArrayOf(1, 2, 3) 注: 区别于JavaKotlin中的数组是不型变的(invariant),即Kotlin...// 调用次构造函数2 User("male",26) // 调用次构造函数3 d....// 示例2:通过索引遍历一个数组 // Java中的for语句 for (int i = 0; i < 4; i++) { System.out.println(i); } // Kotlin...可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(

2.8K20

Carson带你学Android:这是一份全面 & 详细的Kotlin入门学习指南

基本语法入门 本节中,详细讲解Kotlin的基本语法,主要包括: 基本观念(对比于Java) 数据类型 类 变量 & 常量 函数 其他语法糖(控制流、类型检查 & 转换、安全性等) 4.1 基本观念...// 具体使用:同Array val x: IntArray = intArrayOf(1, 2, 3) 注: 区别于JavaKotlin中的数组是不型变的(invariant),即Kotlin...// 调用次构造函数2 User("male",26) // 调用次构造函数3 d....// 示例2:通过索引遍历一个数组 // Java中的for语句 for (int i = 0; i < 4; i++) { System.out.println(i); } // Kotlin...可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(

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

Kotlin实用的语法糖:空安全、类型转换 & 相等性判断

智能转换 * 说明: kotlin不必使用显式类型转换操作,因为编译器跟踪不可变值的is检查以及显式转换,并在需要时自动插入(安全的)转换 **/ var a: Any = "a" if (a...**/ var str = null var str2 = str as String // 抛出TypeCastException // 使用安全转换操作符as?...空安全 在Java中,NullPointerException异常十分常见 而Kotlin的优点则是可以尽可能避免执行代码时出现的空指针异常 /** * 1....可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(...) // 如:String类型变量不能容纳null // 若要允许为空,可声明一个变量为可空字符串:在字符串类型后面加一个问号?

1.2K11

Kotlin实用语法糖:空安全、类型转换 & 相等性判断

智能转换 * 说明: kotlin不必使用显式类型转换操作,因为编译器跟踪不可变值的is检查以及显式转换,并在需要时自动插入(安全的)转换 **/ var a: Any = "a" if (a...**/ var str = null var str2 = str as String // 抛出TypeCastException // 使用安全转换操作符as?...空安全 在Java中,NullPointerException异常十分常见 而Kotlin的优点则是可以尽可能避免执行代码时出现的空指针异常 /** * 1....可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(...) // 如:String类型变量不能容纳null // 若要允许为空,可声明一个变量为可空字符串:在字符串类型后面加一个问号?

94910

Kotlin语言基础入门到熟悉:Lambda 表达式

,我们已经见过 for 循环迭代数组的例子,不过我们其实有更现代化的手段来迭代一个数组,比如上面这个例子。...不对,return 直接结束 main 函数。为啥?Lambda 表达式,是个表达式啊,虽然看上去像函数,功能上也像函数,可它看起来也不过是个代码块罢了。 那,就没办法 return 了吗?...i13, $i14, $i15, $i16, $i17, $i18, $i19, $i20, $i21, $i22,") } 编译运行结果: Exception in thread "main" java.lang.NoClassDefFoundError...首先,调用者在 Kotlin 当中,被调用者是 Java 代码。如果前面的例子当中 worker.execute(...) 是定义在 Kotlin 中方法,那么我们是不能用 SAM 转换的。...其次,参数必须是 Java 接口,也就是说,Kotlin 接口和抽象类、Java 抽象类都不可以。 再次,参数的 Java 接口必须只有一个方法。

41420

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

Kotlin 中,函数是对象,基本类型也是对象,所有东西都是对象:数字、字符、布尔和数组。...=> Long 1.4运算 Kotlin支持数字运算的标准集,运算被定义为相应的类成员(但编译器会将函数调用优化为相应的指令)。...我们知道,Java数组是协变的。与 Java 不同的是,Kotlin数组是非协变的(invariant)。...字符串模板 字符串可以包含模板表达式 ,即一些小段代码,求值并把结果合并到字符串中。...另外,请注意,==算子在Kotlin中,等价于调用equals函数。要比较引用是否相同,使用===算子。

1.3K30

Java 开发者的 Kotlin 快速上手教程(Kotlin for Java Developers)v0.1

但是,Java毕竟是20多年前的语言了,虽然有不断扩展更新,但是底层设计思想是很难改动的,这就导致它很难实现一些新的语言特性,例如函数式编程、Lambda 表达式、流式API、高阶函数、空指针安全等(虽然...另外,新语言必须考虑兼容性,为了与存量项目代码和谐共处,KotlinJava是互相完美兼容的,两种代码文件可以并存,代码可以互相调用、文件可以互相转换,库文件也可以无障碍地互相调用,据说使用Kotlin...安全:移除了你可能犯错误的功能。 通用:基于 JVM 和 Javascript,你可以在很多地方运行。 互操作性:这就意味着 KotlinJava 可以相互调用,目标是 100% 兼容。...fun testArray1() { val asc = Array(5, { i -> (i * i).toString() }) } // Kotlin数组是不可变的(Java数组可变...: "" Kotlin 函数式编程 Kotlin 面向对象编程 Kotlin 强大的标准库 KotlinJava互操作 Kotlin Spring Boot 服务端开发 Kotlin JavaScript

1.1K30

阿里云大神亲码“Kotlin深度笔记”,不讲一句废话,全是精华

Kotlin知识的半衰期来看,这门语言非常值得学习,不过想要普及还是非常难,因为Kotlin还没有表现出非用它不可的竞争力,另外很多企业使用的成本比较高,大多数领导都是不求有功但求无过,不会下力气推广...,可能导致一部分公司放弃Java 当前已经有许多公司的招聘要求中,要求开发人员需要kotlin kotlin的学习成本并不是很高,Javakotlin,一般一周时间就足以完成,且kotlinJava...可以相互调用,觉得kotlin解决不了的地方,仍然可以使用Java编写(非常人性化) 如果你想要快速找到一份移动开发者的工作,建议学习Kotlin来进行原生的Android开发。...定义常量与变量 null 声明 空判断 字符串拼接 三元表达式 多重条件 更灵活的 case 语句 for 循环 更方便的集合操作 遍历 方法定义 constructor 构造器 Get Set 构造器...image.png 走进 Kotlin数组 Kotlin 数组的创建技巧 Kotlin 数组的遍历技巧 数组代码演练 走进 Kotlin 的集合 集合的可变性与不可变性 集合排序 集合中的 Set

1.1K10

KotlinKotlin 语言基础 ( 环境安装 | 变量 | 简单使用 | 函数 | 异常 | 递归 )

设置步长遍历, 每隔 4 位执行一次 for(num in nums_3 step 4){ println(num) } 3.设置数组倒序 : 调用数组的 reversed() 方法; //2...数组倒序 var nums_4 = nums_3.reversed() 4.获取数组个数 : 调用数组的 count() 方法; //3....人机交互 ( readLine() 控制台读取数据 ) 简单的人机交互栗子 : 1.需求 : 控制台输入两个数字, 并将两个数字相加打印出来; 2.控制台读取字符串 : readLine() 方法..., 返回一个字符串; //控制台输入字符串, 然后将字符串赋值给 num_1_str var num_1_str = readLine() 3.设置空值处理 : 调用 toInt() 前使用 !!...) //控制台输入字符串, 然后将字符串赋值给 num_1_str var num_1_str = readLine() println("输入数字2 : ") //控制台输入字符串, 然后将字符串赋值给

3.9K00

Java 开发者的 Kotlin 快速上手教程(Kotlin for Java Developers)v0.1

但是,Java毕竟是20多年前的语言了,虽然有不断扩展更新,但是底层设计思想是很难改动的,这就导致它很难实现一些新的语言特性,例如函数式编程、Lambda 表达式、流式API、高阶函数、空指针安全等(虽然...另外,新语言必须考虑兼容性,为了与存量项目代码和谐共处,KotlinJava是互相完美兼容的,两种代码文件可以并存,代码可以互相调用、文件可以互相转换,库文件也可以无障碍地互相调用,据说使用Kotlin...安全:移除了你可能犯错误的功能。 通用:基于 JVM 和 Javascript,你可以在很多地方运行。 互操作性:这就意味着 KotlinJava 可以相互调用,目标是 100% 兼容。...fun testArray1() { val asc = Array(5, { i -> (i * i).toString() }) }// Kotlin数组是不可变的(Java数组可变;...: "" Kotlin 函数式编程 Kotlin 面向对象编程 Kotlin 强大的标准库 KotlinJava互操作 Kotlin Spring Boot 服务端开发 Kotlin JavaScript

1.5K30

《Kotin 极简教程》第15章 Kotlin 文件IO操作、正则表达式与多线程第15章 Kotlin 文件IO操作与多线程《Kotlin极简教程》正式上架:

终端读取数据也很简单,最基本的方法就是全局函数readLine,它直接终端读取一行作为字符串。如果需要更进一步的处理,可以使用Kotlin提供的各种字符串处理函数来处理和转换字符串。...15.3 文件 IO 操作 Kotlinjava.io.File提供了大量好用的扩展函数,这些扩展函数主要在下面三个源文件中: kotlin/io/files/FileTreeWalk.kt kotlin...如果我们想要获得文件每行的内容,可以简单通过split("\n")来获得一个每行内容的数组。 获取文件每行的内容 我们也可以直接调用 Kotlin 封装好的readLines函数,获得文件每行的内容。...正则表达式类 除了上面 Kotlin 提供的函数之外,我们在 Kotlin 中仍然可以使用 Java 的正则表达式的 API。...本章小结 Kotlin 是一门工程实践性很强的语言,本章介绍的文件IO、正则表达式以及多线程等内容中,我们可以领会到 Kotlin 的基本原则:充分使用已有的 Java 生态库,在此基础之上进行更加简单实用的扩展

3.3K20

第9章 文件IO操作、正则表达式与多线程第9章 文件IO操作、正则表达式与多线程

使用Kotlin的扩展函数功能,我们可以直接为 String 类实现一个 inc() 函数,这个函数字符串中的每一个字符值加1 "abc".inc() // bcd 这个扩展函数实现如下 fun String.inc...Kotlinjava.io.File 类扩展了大量好用的扩展函数,这些扩展函数都在 kotlin/io/FileReadWrite.kt 源代码文件中。我们将在下文中介绍。...我们也可以直接调用 Kotlin 封装好的readLines函数,获得文件每行的内容。readLines函数返回一个持有每行内容的字符串 List。...更读取文件类似,我们可以写入字符串,也可以写入字节流,还可以直接调用 Java的 Writer 或者 OutputStream 类。写文件通常分为覆盖写(一次性写入)和追加写入两种情况。...本章小结 Kotlin 是一门工程实践性很强的语言,本章介绍的文件IO、正则表达式以及多线程等内容中,我们可以领会到 Kotlin 的基本原则:充分使用已有的 Java 生态库,在此基础之上进行更加简单实用的扩展

1.9K30

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

逻辑非 数组 数组Kotlin 中使用 Array类来表示,它定义了 : get和 set函数(按照运算符重载约定这会转变为 []) size属性 以及一些其他有用的成员函数: class...16"] val asc = Array(5, { i -> (i * i).toString() }) 如上所述,[] 运算符代表调用成员函数 get() 和 set() Kotlin 也有无装箱开销的专门的类来表示原生类型数组...基本类型 在Kotlin中,所有东西都是对象,所以我们可以调用成员函数和属性的任何变量对象。有些类型是内置的,他们的实现被优化过, 但是用户看起来他们就像普通的类....支持标准的算数操作符,并在相应的类上定义为成员函数(但编译器针对运算进行优化,将函数调用优化成直接的算数操作)。...注意: 与Java不同的是, Kotlin数组不可变.

80910

Kotlin 1.2 的新增了哪些特性?

其他语言特性 注解中的数组常量 Kotlin 1.2 开始,注解的数组参数可以使用新的数组常量语法而不是 arrayOf 函数来传递: ? 数组常量语法被限制为注释参数。...破坏性变更:try 块后面的 sound smart casts 早些时候,Kotlin 使用了 try 块中的赋值,以在块之后进行 smart casts,这可能破坏类型及 null 值的安全性并导致运行时失败...弃用:数据类的覆写性拷贝 当已经具有相同签名的拷贝函数的类型派生数据类时,为数据类生成的 copy 实现使用父类型的默认函数导致出现与预期相反的行为,如果父类型没有默认参数,则在运行时失败 导致复制冲突的继承已经被...JVM 后端 构造函数调用标准化 自 1.0 以来,Kotlin 开始支持复杂控制流的表达式,例如 try-catch 表达式和内联函数调用。根据 Java 虚拟机规范这样的代码是合法的。...Java 默认方法调用Kotlin 1.2 之前,接口成员在使用 JVM 1.6 的情况下重写 Java 默认方法会在父调用中产生警告:Super calls to Java default methods

2.8K10

转向Kotlin——基础知识

不过在Java中占字节数少的变量转为占字节数多的变量时,自动进行转换。...在Kotlin中定义数组的方法有很多,使用arrayOf()函数定义可以存储任意值的数组;使用arrayOfNulls函数定义指定长度的空数组数组元素中没有值);使用Array类的构造器指定数组长度和初始化数据的方式定义数组...;使用intArrayOf、shortArrayOf等函数定义指定类型的数组,并初始化。...Kotlin中使用String表示字符串,有以下两种字符串: 普通字符串:类似于Java,在字符串中可以加转义字符以实现换行等要求; 保留原始格式字符串:不能使用转义字符串,格式直接在字符串中展示,...那么在其他的Kotlin文件中,若想使用adtion方法或者MyClass类,直接调用com.example.kotlin.adtion和com.example.kotlin.MyClass。

1.1K10

Kotlin入门(5)字符串及其格式化

注意到Kotlin字符串类也叫String,那么String在JavaKotlin中的用法有哪些差异呢?这便是本文所要阐述的内容了。   ...(***) 字符串转双精度数:调用方法Double.parseDouble(***) 字符串转布尔型:调用方法Boolean.parseBoolean(***) 字符串转字符数组调用String对象的...字符串转浮点数:调用String对象的toFloat方法 字符串转双精度数:调用String对象的toDouble方法 字符串转布尔型:调用String对象的toBoolean方法 字符串转字符数组调用...,唯一的区别是split方法的返回值,在Java中,split方法返回的是String数组,即String[];但在Kotlin中,split方法返回的是String队列,即List。...Kotlin字符串带来的便利并不限于此,大家知道,Java如果要把几个变量拼接成字符串,要么用加号强行拼接,要么用String.format函数进行格式化。

1.8K10

不要用Java的语法思维来写Kotlin

不要用Java的语法思维来写Kotlin,不要让kotlin的优雅埋没。如果你没有Java开发经验,下面的内容也对你会有帮助。。。 1.尽可能的少用 !!...assertThat(body).isEqualTo("Hello, $name") } } 注意:lateinit很好用,但也有坑 访问未初始化的 lateinit 属性导致...4).也许可以尝试一下let函数 let函数一般与安全调用操作符一起使用,我们首先介绍安全调用操作 ?. b?....函数参数String不能为null,但是as?函数的返回值可以是null 8.真的要习惯Koltin的for循环,太强大了 Kotlin没有Java中的for(初始值;条件;增减步长)这个规则。...for循环数组被编译为一个基于索引的循环,它不会创建一个迭代器对象 遍历字符串 此用法在数据类型章节中的字符串类型中用到过。还不甚清楚的可以查看 Kotlin——最详细的数据类型介绍。

3K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券