Kotlin入门学习
CNwanku
在校大学生,天融信菜鸡实习生一枚。
展开
-
Kotlin学习7.2:泛型的相关
Kotlin学习7.2:泛型的相关泛型约束型变声明处型变星号投射泛型约束我们可以使用泛型约束来设定一个给定参数允许使用的类型。Kotlin 中使用 : 对泛型的类型上限进行约束。最常见的约束是上界(upper bound):fun <T : Comparable<T>> sort(list: List<T>) { // ……}Compar...转载 2019-11-27 22:04:23 · 85 阅读 · 0 评论 -
Kotlin学习7.1:泛型的定义
Kotlin学习7.1:泛型的定义泛型,即 “参数化类型”,将类型参数化,可以用在类,接口,方法上。与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。声明一个泛型类:class Box<T>(t: T) { var value = t}创建类的实例时我们需要指定类型参数:val box: Box<Int> = Bo...转载 2019-11-27 21:55:46 · 442 阅读 · 0 评论 -
Kotlin学习6.4:内联函数
Kotlin学习6.4:内联函数内联函数简介内联函数如何运作传递函数类型的变量作为参数在两个不同的位置使用同一个内联函数内联函数简介当我们使用lambda表达式时,它会被正常地编译成匿名类。这表示每调用一次lambda表达式,一个额外的类就会被创建,并且如果lambda捕捉了某个变量,那么每次调用的时候都会创建一个新的对象,这会带来运行时的额外开销,导致使用lambda比使用一个直接执行相同...转载 2019-11-26 17:08:25 · 89 阅读 · 0 评论 -
Kotlin学习6.3:标准库中的高阶函数
Kotlin学习6.3:标准库中的高阶函数run()函数with()函数let()函数also()函数apply()函数总结备注参考文档Kotlin中的5个通用扩展函数这些函数都存在Standard.kt文件中,run,with,let,also,apply区别和使用场景:run()函数run扩展函数的源码为:/** * Calls the specified function [bl...转载 2019-11-26 16:55:01 · 124 阅读 · 0 评论 -
Kotlin学习6.2:Lambda的特性
Kotlin学习6.2:Lambda的特性(一)如果函数的最后一个参数接受函数,那么传入的 Lambda 表达式可以放在圆括号之外:fun calculate(a: Int, b: Int, cal: (Int, Int) -> Int) { print("a + b = ${cal(a, b)}")}fun main(args: Array<String>) {...原创 2019-11-26 16:38:28 · 115 阅读 · 0 评论 -
Kotlin学习6.1:Lambda表达式入门
Kotlin学习6.1:Lambda表达式入门Lambda表达式简介无参数有返回值有参数有返回值Lambda表达式返回值Lambda表达式简介Lambda表达式就是一个匿名函数,它是函数式编程的基础,所谓函数式编程实际上就是一种编程范式,即如何编写程序的方法论。函数式编程的思想是将计算机运算视为函数的计算,并且计算的代码可以接收函数作为输入参数或者当做返回值来使用。使用函数式编程可以减少代...原创 2019-11-26 16:15:28 · 775 阅读 · 0 评论 -
Kotlin学习5.4:Map接口
Kotlin学习5.4:Map接口Map接口简介不可变Map查询操作遍历操作可变MutableMap修改操作批量操作Map接口简介Map 接口是一种双列集合,它的每个元素都包含一个键对象 Key 和一个值对象 Value ,键和值对象之间存在一种对应关系,称为映射。从 Map 集合中访问元素时,只要指定了 Key 就能找到对应的 Value 。Map 集合中的元素是无序可重复的,Map 集...原创 2019-11-24 17:07:57 · 284 阅读 · 0 评论 -
Kotlin学习5.3:Set接口
Kotlin学习5.3:Set接口Set接口简介不可变Set查询操作批量操作可变MutableSetSet接口简介Set 接口和 List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,但并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与 List 接口不同的是,Set 接口中的元素是无...原创 2019-11-24 16:26:30 · 185 阅读 · 0 评论 -
Kotlin学习5.2:List接口
Kotlin学习5.2:List接口List接口简介不可变List查询操作批量操作检索操作遍历操作可变MutableList查询操作修改操作批量操作遍历操作List接口简介List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性的会将实现接口的对象称为 List 集合。在 List 集合中允许出现重复的元素,所有的元素是一种线性方式存储的,在程序中可以通过索引来访问...原创 2019-11-23 22:09:48 · 285 阅读 · 0 评论 -
Kotlin学习5.1:集合概述
Kotlin学习5.1:集合概述Collectionset集合list集合MapKotlin中的集合就类似一个容器,用于存储一系列对象,这些对象可以是任意的数据类型,并且长度可变。这些类都存放在 kotlin.collections 包,在使用时一定要注意导包的问题,否则会出现异常。Collectionkotlin集合类同样有两个接口派生:Collection和Map。但Kotlin的结...转载 2019-11-23 20:27:57 · 214 阅读 · 0 评论 -
Kotlin学习4.8:异常
Kotlin学习4.8:异常什么是异常try···catch和finallythrow关键字受检异常自定义异常什么是异常在实际生活中,不可能任何事情都会一帆风顺,总会遇到一些状况,比如工作时电脑蓝屏、死机等。同样在程序运行的过程中,也会发生各种非正常的情况,比如程序运行时磁盘空间不足,网络连接中断,被装载的类不存在。针对这些情况,在Kotlin语言中引入了异常,以异常类的形式对这些非正常情...原创 2019-11-23 14:04:43 · 214 阅读 · 0 评论 -
Kotlin学习4.7:委托
Kotlin学习4.7:委托类委托属性委托延时加载委托模式也叫代理模式,是最常用的一种设计模式。在委托模式中,如果有两个对象参与与处理同一个请求,则接受请求的对象将请求委托给另一个对象来处理,简单来说A的工作交给B来做。委托模式是实现继承的一个很好的替代方式。委托是通过 by 关键字实现的,并且主要分为两种形式,一种是类委托,一种是属性委托。类委托大家知道委托是有两个对象完成的,因此可...原创 2019-11-22 22:56:05 · 100 阅读 · 0 评论 -
Kotlin学习4.6:常见类
Kotlin学习4.6:常见类嵌套类内部类枚举类密封类数据类单例模式伴生对象嵌套类Kotlin中的嵌套类是指可以嵌套在其它类中的类,该类不能访问外部类的成员,内部类指的是可以用 inner 标记以便能够访问外部类的成员。Kotlin中的内部类与嵌套类与Java相似,不同的是在没有任何修饰的情况下,定义在一个类内部的类被默认称为嵌套类,不持有外部类的引用,如果想将它声明为一个内部类,则需要加上...原创 2019-11-21 22:51:50 · 135 阅读 · 0 评论 -
Kotlin学习4.5:抽象类和接口
Kotlin学习4.5:抽象类和接口抽象类接口抽象类在定义一个类时,通常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。因此,可以将其定义为抽象方法,抽象方法使用关键字 abstract 修饰,该方法没有方法体,在使用时需要实现其方法体,当一个类中包含了抽象方法,该类必须使用关键字abstract 定义为抽象类。语法格式如下:abstract class...原创 2019-11-21 21:15:04 · 112 阅读 · 0 评论 -
Kotlin学习4.4:类的继承
Kotlin学习4.4:类的继承类的继承方法重写super关键字类的继承在Kotlin中,类的继承是指在一个现有类的基础上构建一个新类,构建出来的新类被称作子类,现有类被称为父类,子类会自动拥有父类所有可继承的属性和方法。在程序中如果想声明一个类继承另一个类,则需要使用英文冒号 “:”, 由于所有类都默认使用关键字 final 修饰,不能被继承,因此,当继承某个类时,需要在这个类的前面加上关...原创 2019-11-21 20:44:29 · 235 阅读 · 0 评论 -
Kotlin学习4.3:构造函数
Kotlin学习4.3:构造函数主构函数this 关键字次构函数主构函数在Kotlin中,构造函数用 constructor 关键字进行修饰,一个类可以有一个主构造函数和多个次构造函数。主构函数位于类头跟在类名之后,如果主构造函数没有任何注解或可见性修饰符(如public),constructor 关键字可省略。主构函数定义的语法格式如下:class 类名 constructor([形参...原创 2019-11-15 23:22:00 · 411 阅读 · 0 评论 -
Kotlin学习4.2:类与对象
Kotlin学习4.2:类与对象类的定义对象的创建类的封装类的定义在面向对象的最核心的就是对象,为了在程序中创建对象,首先需要定义一个类。在定义类的时候需要使用关键字 class 声明。类是对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员函数,其中成员变量用于描述对象的特征,也被称为属性,成员函数用于描述对象的行为,可简称为函数或方法。通过一个实例来学习如何定...原创 2019-11-15 22:27:48 · 161 阅读 · 0 评论 -
Kotlin学习4.1:面向对象的概念
Kotlin学习4.1:面向对象的概念封装性继承性多态性提到面向对象。自然会想到面向过程。面向过程就是分析解决问题是需要的步骤,然后用函数把这些步骤一 一实现,使用的时候一个一个一次调用就可以了。面对对象则是把解决问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现,应用程序的功能,这样当应用程序功能发生变动...原创 2019-11-11 23:23:18 · 102 阅读 · 0 评论 -
Kotlin学习3.2:函数的分类
Kotlin学习3.2:函数的分类顶层函数成员函数局部函数递归函数尾递归函数尾递归函数的定义尾递归函数的优化函数重载顶层函数顶层函数又称为包级别函数,可以直接放在某一个包中,而不像Java一样必须将函数放在某一个类中。顶层函数可以独立存在,之前写过的很多函数都是顶层函数,例如经常用的main()函数。顶层函数在被调用时,如果在同一个包头,可直接调用,如果在不同的包中,需要导入对应的包。...原创 2019-11-08 20:01:08 · 196 阅读 · 0 评论 -
Kotlin学习3.1:函数的介绍
Kotlin学习3.1:函数的介绍函数的定义函数的类型有参数无返回有参数有返回无参数无返回无参数有返回单表达式函数函数的参数具名参数默认参数可变参数函数的定义函数又称为方法,是具有特定功能的一段独立程序。函数可以将功能代码进行封装,在使用时直接调用即可,这样程序代码不仅看起来简洁,而且还减少了代码量。函数的语法格式如下:函数声明 函数名称 (【参数名称:参数类型,参数名称:参数类型】):...原创 2019-11-08 11:38:54 · 292 阅读 · 0 评论 -
Kotlin学习2.10:空值处理
Kotlin学习2.10:空值处理可空类型变量(?)安全调用符(?.)Elvis操作符(?:)非空断言(!!.)在程序开发过程中,经常会遇到空指针异常的问题,如果对这个问题处理不当还可能会引起程序的崩溃,因此在Kotlin中,为了避免出现空指针异常的问题。引入了Null机制。可空类型变量(?)Kotlin变量分成两种类型,一种是可空类型的变量,一种是非空类型的变量。一般情况下,一个变量默认...原创 2019-11-07 20:55:34 · 185 阅读 · 0 评论 -
Kotlin学习2.9:变量的类型转换
Kotlin学习2.9:变量的类型转换类型检查智能类型转换强制类型转换as操作符as?操作符在Kotlin中,如果将一种数据类型的值赋给另一种不同的数据类型的变量时,则需要进行数据类型转换。根据转换方式的不同,数据类型转换可分为两种:智能类型转换和强制类型转换。类型检查为了避免变量在进行类型转换时,由于类型不一致而出现类型转换异常的问题,可以使用is操作符或!is反向操作符进行检测对象是否...原创 2019-11-07 20:09:24 · 1984 阅读 · 0 评论 -
Kotlin学习2.8:数组
Kotlin学习2.8:数组数组的定义数组的常见操作数组遍历数组最值数组元素修改查找数组元素角标数组的定义在Kotlin中,数组使用 Array 表示,其中数值类型、布尔类型、字符类型、字符串类型都可以定义为数组。数组的定义格式有两种,具体代码如下:fun main(args:Array<String>) { //第1种定义格式 var int_array1:I...原创 2019-11-07 17:07:19 · 947 阅读 · 0 评论 -
Kotlin学习2.7:区间
Kotlin学习2.7:区间正向区间逆向区间步长正向区间区间通常是指一类数据的集合,例如,由符合0<=a<=1的实数组成的一个集合便是一个区间,它包含了0~1的所有实数。区间是通过 rangeTo(othe:Int) 函数构成的区间表达式,也可以用 “…” 形式的操作符来表示。接下来我们通过两个案例来讲讲整型类型的区间。fun main(args:Array<String...原创 2019-11-07 16:20:52 · 296 阅读 · 0 评论 -
Kotlin学习2.6:循环结构语句
Kotlin学习2.5:循环结构语句while循环语句do···while循环语句for-in循环语句循环嵌套跳转语句循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这个循环体时,需要在合适的时候把循环条件改为假,从而结束循环;否则循环将一直执行下去,形成死循环。循环语句包含下面4个部分:初始化语句:一条或多条语句,用于完成一些初始化工作...原创 2019-11-04 20:36:18 · 205 阅读 · 0 评论 -
Kotlin学习2.5:选择结构语句
Kotlin学习2.5:选择结构语句if条件语句when条件语句if条件语句在Kotlin中的if语句和Java还是还是有一定的区别的,它能在Java中更灵活,除了能实现Java写法外,还可以实现表达式(实现三元运算符),及作为一个块的运用。传统写法(同Java写法一样):var numA = 2if (numA == 2){ println("numA == $numA =&g...原创 2019-11-04 17:00:34 · 229 阅读 · 0 评论 -
Kotlin学习2.4:字符串
Kotlin学习2.4:字符串字符串的定义字符串的常见操作字符串的查找字符串的截取字符串的替换字符串的分隔字符串的去空格字符串的字面值字符串的定义字符串表示一串连续的字符,在Kotlin中用String表示一个字符串时,需要用一对英文半角格式的双引号 " " 引起来。一个字符串可以包含一个或者多个字符,也可以不包含任何字符,即长度为0.字符串的定义方式如下:fun main(args:Ar...原创 2019-11-02 13:30:34 · 456 阅读 · 0 评论 -
Kotlin学习2.3:运算符
Kotlin学习2.3:运算符算术运算符赋值运算符比较运算符逻辑运算符算术运算符算术运算符用于数值类型的运算,Kotlin语言支持基本的算术运算:加法“+”、减法“-”、乘法“*”、除法“/”、取余“%”、以及自增自减运算。如:var IntA:Int = 5 + 5 // 10val IntB:Int = 10 - 2 // 8val IntC:Int = 3 * 4 // 12...原创 2019-11-02 11:29:52 · 703 阅读 · 0 评论 -
Kotlin学习2.2:Kotlin中的变量
Kotlin学习2.2:Kotlin中的变量变量的声明与赋值变量的数据类型数值类型变量布尔类型变量字符类型变量字符串类型变量数组类型变量变量的声明与赋值Kotlin 是强类型的语言,Kotlin 要求所有的变量必须先声明、后使用,声明变量时必须显示或隐式指定变量的类型(隐式的是指,声明的时候同时初始化,这样编译的时候就可以推断出该变量的类型了,Java 新版本也加了 var 关键字)。关键字...原创 2019-10-31 22:01:51 · 305 阅读 · 0 评论 -
Kotlin学习2.1:Kotlin的基本语法
Kotlin学习2.1:Kotlin的基本语法Kotlin代码的基本语法命名格式包名类和接口方法字段(Fields)变量和参数其他Kotlin中的注释单行注释和多行注释文档注释Kotlin代码的基本语法命名格式总体来说,Kotlin命名格式要和Java命名规范保持一致,因为Kotlin也是JVM兼容的语言。包名包的命名规则和Java一样:全小写,当遇到多个词连接的场景,不要使用下划线(_...原创 2019-10-31 21:16:02 · 168 阅读 · 0 评论 -
Kotlin学习1.3:开发第一个Kotlin程序
Kotlin学习1.3:开发第一个Kotlin程序Hello KotlinHello Kotlin我们新接触一门新语言,编写的一个程序一般都是HelloWorld!那我们也不例外,这次便用 Intellij IDEA 编写一个 Kotlin 语言的 Hello Kotlin。带大家熟悉一下 Intellij IDEA 中工程的创建与运行调试。(1)当我们第一次打开 Intellij ID...原创 2019-10-28 17:13:07 · 226 阅读 · 0 评论 -
Kotlin学习1.1: Kotlin简介
Kotlin学习1.1: Kotlin简介1.1.1 Kotlin的前景服务器端开发Android 开发JavaScript开发小总结1.1.2 Kotlin 的特性简洁安全函数、属性扩展兼容Java1.1.1 Kotlin的前景Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没...原创 2019-10-27 16:07:28 · 172 阅读 · 0 评论 -
Kotlin学习1.2: Kotlin开发环境搭建
Kotlin学习1.1: Kotlin简介1.2.1 Kotlin常用的开发工具1.IntelliJ IDEA2.Android Studio3.Eclipse4.Compiler总结1.2.1 Kotlin常用的开发工具在Kotlin官方文档( www.kotlincn.com.)上可以看到,Kotlin语言开发工具有4种类型。分别是IntelliJ IDEA、Android Studio...原创 2019-10-27 22:57:09 · 249 阅读 · 0 评论