![](https://img-blog.csdnimg.cn/2019090300044695.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin
野生杂学家阿博
发现问题,解决问题,总结反思。
展开
-
Kotlin笔记2——变量的声明与输出
前言前面学习了Kotlin的Hello World之后,我又学习了Kotlin的变量。变量的声明Kotlin的变量的关键字有两个,分别是 val 和 var 。val关键字val(value)常量,相当于java中final修饰的变量,只能被赋值一次,不能被重新赋值val srt = "hello world!"var关键字var关键字表示可变变量,下面举个例子...原创 2018-05-27 13:51:38 · 1190 阅读 · 0 评论 -
Kotlin笔记21——静态属性和动态行为
前言接上篇Kotlin面向对象入门的博客,这篇博客介绍一下我学到Kotlin的静态属性和动态行为。Demo实例代码:// 描述一个妹子 长相 声音class Gril(var chactor:String,var voice:String){ fun MakeUp(){ println("妹子在化妆") } fun dance(){ ...原创 2018-09-04 23:42:55 · 917 阅读 · 0 评论 -
Kotlin笔记22——面向对象实战——洗衣机
前言前面学习的都是面向对象的入门,利用基本数据类型描述复杂的事务,理解Kotlin语言中的静态属性和动态行为。面向对象实战——洗衣机我们在生活中会使用到洗衣机,我们创造一个程序员A生产出售洗衣机,另一个程序员B要购买洗衣机洗衣服。实例代码1.程序员A生产洗衣机。/** * 程序员A创建的洗衣机 */class WashMachine(var module:St...原创 2018-09-09 13:25:46 · 557 阅读 · 0 评论 -
Kotlin笔记23——面向对象实战-洗衣机升级改造
前言上一篇博客中,我有用学习到的Kotlin语言编写一个洗衣机Demo,那么这篇博客中我对它进行升级改造,提升博客中程序员B的用户体验感。面向对象实战-洗衣机升级改造我们需要为洗衣机增加一些新的功能,判断洗衣机门是否有关,洗衣机有什么模式。实例代码1.程序员A为洗衣机添加新的功能。/** * 程序员A创建的洗衣机 */class WashMachine(var m...原创 2018-09-09 14:14:54 · 364 阅读 · 0 评论 -
Kotlin笔记24——面向对象-封装
前言我们在学习Java语言的时候,面向对象有三大特性——封装、继承、多态。Kotlin是面向对象开发语言,它也有这三大特性。这里我给大家分享的是Kotlin的封装。封装封装的定义是隐藏内部实现的细节。封装的实现上面说封装就是隐藏内部实现的细节,Kotlin与Java语言一致,它们都是使用private关键字来实现,添加了private关键之后,外部就不可以访问该方法。...原创 2018-09-09 14:37:16 · 402 阅读 · 0 评论 -
Kotlin笔记25——面向对象-多态
前言前面两篇博客中,我给大家分享了Kotlin面向对象的封装和继承两大特性,那这篇博客将给大家分享Kotlin面向对象最后一个特性——多态。多态同一种功能多种表达形态。Demo我们创建一个类表示我们人类,人类又分为男人和女人。人类都会吃饭,吃饭有很多形态,让男人站着吃,女人坐着吃。我们用代码表示,如下:1.创建一个父类(基类)/** * 抽象的人类 ...原创 2018-09-09 18:29:40 · 945 阅读 · 0 评论 -
Kotlin笔记26——接口
前言在使用Java开发语言的时候,我们会经常使用到接口。Kotlin和Java一样的,下面分享一下我学习到的Kotlin的接口知识。接口接口泛指实体把自己提供给外界的一种抽象化(可以为另一实体),用于内部操作分离出外部的沟通方法,使其内部修改而不影响外界其他实体与其的交互方式。接口的定义Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许...原创 2018-09-10 21:21:16 · 148 阅读 · 0 评论 -
Kotlin笔记27——枚举类
前言在使用Java语言进行开发时,肯定有使用过枚举类。那么Kotlin的枚举类是怎么样呢?下面分享一下,我学到的Kotlin的枚举。枚举一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类。枚举的定义enum class Week { ....}每个枚举常数都是一个枚举类的实例. 枚举常数之间用逗号分隔. 获取枚举常量名称Week.name...原创 2018-09-10 21:39:28 · 152 阅读 · 0 评论 -
Kotlin笔记28——印章类(Sealed Class)
印章类印章类又称为密封类,用来表示受限的类继承结构:当一个值为有限几种的类型, 而不能有任何其他类型时。在某种意义上,他们是枚举类的扩展:枚举类型的值集合 也是受限的,但每个枚举常量只存在一个实例,而它的一个子类可以有可包含状态的多个实例。印章类的定义使用sealed关键字修饰类,印章类可以有子类,但是所有的子类都必须要内嵌在印章类中。 sealed关键字不能修饰 interface...原创 2018-09-10 21:53:52 · 954 阅读 · 0 评论 -
Kotlin笔记1——我的Hello Kotlin
前言Kotlin语言成为Android官方支持开发语言,作为一个Android开发的程序肯定要学习的。趁着周末有空,学习一下Kotlin语言。学习每种开发语言都少不了Hello World,但是我想我可以Hello Kotlin。示例代码下面是我的Hello Kotlin的代码:fun main(args:Array<String>){ println("hel...原创 2018-05-26 12:34:33 · 454 阅读 · 0 评论 -
Kotlin笔记29——Kotlin的主要特征
前言在之前的Kotlin笔记中,我看网上的视频进行学习的,我个人觉得不够全面。于是我买了一本《Kotlin实战》进行学习。从这篇博客开始分享我看书的学习心得,希望能帮我看我博客学习Kotlin的小伙伴。主要特征目标平台:服务器端、Android及任何Java运行的地方;静态类型;函数式和面向对象;免费并开源。1.目标平台:服务器端、Android及任何Java运行到的地方Kot...原创 2019-01-17 09:22:58 · 211 阅读 · 0 评论 -
Kotlin笔记30——Koltin基础之函数和变量
函数和变量在开发当中,函数和变量是必不可少的。如何去声明一个函数呢?下面举个栗子:/** * 比较两个数的大小 * @param a * @param b * @return a or b */fun max(a: Int, b: Int): Int { return if (a > b) a else b}fun main() { println("比...原创 2019-09-05 01:23:42 · 269 阅读 · 0 评论 -
Kotlin笔记31——类和属性
类假设我们有一个简单的JavaBean类Person,只有一个属性name。public class Person { private final String name; public Person(String name) { this.name = name; } public String getName() { re...原创 2019-09-06 00:51:42 · 205 阅读 · 0 评论 -
Kotlin笔记32——枚举和“when”
声明枚举类《Kotlin实战》中关于颜色枚举类的,举例代码。enum class Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET}原创 2019-09-07 21:23:50 · 224 阅读 · 0 评论 -
Kotlin笔记33——Kotlin中的异常
异常在学习与开发当中是最常见的,Kotlin的异常处理和Java以及其他开发语言的处理方式很相似。一个函数可以正常结束,也可以在出现错误的情况下抛出异常。方法的调用者能捕获这个异常并处理它:如果没有处理,异常会沿调用栈抛出。举例一个完整的Kotlin的抛出异常的代码:fun main() { val number = 300 val percentage = if (numbe...原创 2019-09-10 12:27:51 · 313 阅读 · 0 评论 -
Koltin笔记34——在Kotlin中创建集合
集合是编程中最常使用到的,在Kotlin中是怎么创建的呢?下面就来揭晓。创建一个HashSet val set = hashSetOf(0,1,8,55)创建一个ArrayList val list = arrayListOf(8,9,10)创建一个HashMap val map = hashMapOf(1 to "one",7 to "seven",53 to ...原创 2019-09-10 15:08:10 · 376 阅读 · 0 评论 -
Kotlin笔记35——定义接口
Kotlin定义接口举例简单声明一个接口:interface IView { fun show() fun hide()}实现上面的接口:class Demo9 : IView { override fun show() = println("视图显示了") override fun hide() =println("视图隐藏了")}fun ...原创 2019-09-10 23:09:25 · 482 阅读 · 0 评论 -
Kotlin笔记20——面向对象入门
前言面向对象编程,是很多高级编程语言都有的特性。那么Kotlin的编程的面向对象是怎么样的呢?下面给大家分享一下我的学习心得。Kotlin面向对象入门用基本数据类型描述复杂的事务;Demo1:描述矩形实例代码//描述一个矩形,高、宽class Rect(var height:Int,var width:Int)fun main(args: Array<Str...原创 2018-09-04 23:18:36 · 273 阅读 · 0 评论 -
Kotlin笔记19——尾递归优化
前言前面了我学习了Kotlin的递归,那么我还接触到了Kotlin的尾递归优化。什么是尾递归优化呢?带着疑问更好去学习。尾递归1.尾递归是递归的一种特殊形式; 2.调用自身无其他操作; 3.tailrec关键字提示编译器尾递归优化;尾递归优化的DemoDemo中有使用tailrec关键字进行提示编译器尾递归优化。// 尾递归演示// 实现方式:累加操作// n的累加...原创 2018-08-20 00:16:56 · 304 阅读 · 0 评论 -
Kotlin笔记3——函数入门
前言前面学习了Kotlin的变量,接下来就是要学习Kotlin的函数。函数的声明Kotlin中的函数决定了一个对象能够接收到什么样的信息,函数的基本组成部分包括:名称、参数、返回值和函数体,其使用fun关键字定义函数,定义形式为:fun methodName(param: paramType): ReturnType {}返回类型描述的是在调用函数之后从函数返回的值。...原创 2018-05-27 15:37:55 · 227 阅读 · 0 评论 -
Kotlin笔记4——函数加强(简易计算器Demo)
前言前面我们学习了Kotlin的函数,那么下面我们利用一个简易计算器Demo深入理解我们的Kotlin函数编程。代码示例/* *简易的计算器Demo */fun main(args: Array<String>) { var a = 8 var b = 2 println("a+b="+plus(a,b)) println(&原创 2018-05-27 16:52:20 · 723 阅读 · 0 评论 -
Kotlin笔记5——函数练习
前言前面我们学习Kotlin的函数,那么我们应用需要几道函数练习题来练习。Kotlin函数练习1.请编写函数,函数名为sayHello,方法返回值是String类型,一个参数String类型,名称为namefun sayHello (name:String):String{ return "hello"+name}2.请编写函数,函数名为checkAge 方法的返...原创 2018-06-02 11:41:16 · 348 阅读 · 0 评论 -
Kotlin笔记6——字符串(String)模板
前言不管在学习什么开发语言的时候,String类型的字符串是我们必不可少的学习。学习Kotlin的时候,学习的是一个字符串模板Demo。字符串模板Demo//日记生成器,接收参数是地点,返回值是日记的内容fun diaryGenerater(placeName: String): String { var temple = """今天天气晴朗,万里无云,我们去${plac...原创 2018-06-02 15:56:45 · 3056 阅读 · 0 评论 -
Kotlin笔记7——条件控制if-else
Kotlin的条件控制if-elseKotlin的条件控制if-else语句和Java开发语言的if-else语句相同,if执行条件成立的结果,else执行条件不成立的结果。Demo1做一个颜值判断器Demo,当我们判断一个男人的颜值等于80就是打印”这是一个帅哥”;颜值小于或者等于80打印”他不是一个帅哥”,代码实现如下fun checkFace(score:Int){ ...原创 2018-06-02 16:37:15 · 2953 阅读 · 0 评论 -
Kotlin笔记8——字符串比较
前言在程序开发当中,字符串比较是最长用到的。那么在Kotlin开发语言中的字符串比较是怎么样的呢?来看一下我的学习心得吧!Kotlin的字符串比较Demo1fun main(args: Array<String>) { var str1 ="张三" var str2 ="张二" println(str1 =原创 2018-06-30 23:22:57 · 8506 阅读 · 0 评论 -
Kotlin笔记9——空值处理
前言在现实的程序开发当中,我们都会遇到null,从而产生于NullPointerException异常。那么在Kotlin开发语言当中对null是怎么处理的呢?下面是我的学习笔记。Kotlin的null值处理Demo示例//创建一个加热的方法fun heat(str:String):String{ return "热"+str}fun main(args: Array...原创 2018-06-30 23:45:33 · 1291 阅读 · 0 评论 -
Kotlin笔记10——when表达式
when表达式根据多个条件做出不同的判断,类似于Java开发语言的switch语句,不过比switch语句更加简洁和强大。学习的DemoDemo介绍:给学生成绩进行评级,10分是满分,9分是干的不错,8分还可以,7分还需努力,6分是刚好及,其他(还需要加油)//创建一个方法fun gradeStudent(score:Int){ when(score){ ...原创 2018-07-07 12:53:24 · 934 阅读 · 0 评论 -
Kotlin笔记11——Loop和Range
前言在实际的开发当中,我们少不了用到Loop(循环)和Range(范围)。下面分享一下我学习到的Kotlin语言中Loop和Range。学习案例Demo1打印1~100(闭区间)fun main(args: Array<String>) { //赋值nums区间是1~100 var nums = 1..100 for(num in nums){...原创 2018-08-05 22:17:38 · 322 阅读 · 0 评论 -
Kotlin笔记12——List和Map入门
前言学习每一种开发语言都少不了集合,下面我分享一下我学习Kotlin语言的List和Map入门。List入门定义List集合fun main(args: Array<String>) { //定义一个List var lists = listOf("买鸡蛋","买大米","买冰淇淋&a原创 2018-08-06 23:09:47 · 363 阅读 · 0 评论 -
Kotlin笔记13——函数和函数式表达式
前言在实际开发当中,函数和函数式表达式是必不可少的。那么我在这里给大家分享一下我学习Kotlin函数和函数式表达式的笔记。函数和函数表达式入门fun main(args: Array<String>) { var result = add(3,5) println(result) var i = {x:Int,y:Int -> x+y}...原创 2018-08-07 13:15:02 · 400 阅读 · 0 评论 -
Kotlin笔记14——默认参数和具名参数
前言在学习Java开发语言中,我们学习过Java的默认参数和具名参数。那么Kotlin的默认参数和具名参数是怎么样的呢?我来和大家分享一下我学到的Kotlin的默认参数和具名参数。默认参数函数参数可以有默认值,当省略相应的参数时使用默认值。与其他语言相比,这可以减少重载数量。Kotlin默认参数Kotlin默认参数是通过类型后面的=来定义默认参数的。具名参数调用函数...原创 2018-08-19 12:28:56 · 1431 阅读 · 0 评论 -
Kotlin笔记15——字符串转数字类型
前言在使用Java编程语言开发的,我们会经常遇到字符串转数字的需求。那么在Kotlin中是怎么实现的呢?接下来跟大家分享一下。字符串转数字首先我们必须保证字符串是数字类型,不能出现a3这种数字与字符混合的字符串。我们使用该字符串的toInt()方法进行字符串转数字的转换。代码示例// 定义一个字符串 var a = "13" var b = a.toInt()数字转字符串...原创 2018-08-19 12:49:39 · 21271 阅读 · 0 评论 -
Kotlin笔记16——人机交互
前言在Android开发当中,我们做的都是人机交互。我们之前使用的都是Java的人机交互,那么Kotlin是怎么实现人机交互的呢?获取用户在键盘的输入在Koltin中获取用户的键盘输入是使用readLine()方法简单的人机交互小Demo:计算器fun main(args: Array<String>) { println("请输入第一个数字:") ...原创 2018-08-19 14:00:02 · 352 阅读 · 4 评论 -
Kotlin笔记17——异常处理try/catch
前言在使用编程语言开发的时候,难免会遇到异常需要我们处理。那么Kotlin语言中遇到异常,我们应该怎么处理呢?我来大家分享我学习到的Kotlin异常处理。try/catch表达式举个例子,之前我有在上篇博客Kotlin学习——人机交互 写一个计算器Demo,但是其中没有处理当中。下面是我在Demo中的使用try/catch表达式进行异常处理。import java.lang.E...原创 2018-08-19 15:13:32 · 1914 阅读 · 0 评论 -
Kotlin笔记18——递归
递归定义递归,其实就是自己调用自己的意思。助于理解的故事从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,老和尚给小和尚讲故事,“从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,老和尚给小和尚讲故事,“从前有座山,山里有座庙,庙里有一个老和尚和一个小和尚,老和尚给小和尚讲故事””,一直循环调用,这是生活中的递归。递归Demo这是一个关于递归的Demo,其中为了能看好1...原创 2018-08-19 23:48:07 · 538 阅读 · 0 评论 -
Kotlin笔记36——open、final和abstract修饰符
声明一个带open方法的open类在这里插入代码片原创 2019-09-13 21:39:30 · 1407 阅读 · 0 评论