
Kotlin-Grammar
唯美星辉
这个作者很懒,什么都没留下…
展开
-
Kotlin递归和tailrec尾递归优化
fun main(args:Array<String>) { //阶乘 1的阶乘是1 2的阶乘是2*1 3的阶乘是3*2*1 n的阶乘是n*(n-1)*(n-2)*...*3*2*1 var num = 5 print(fact(num))}fun fact(num: Int): Int{ if (num == 1){ re...原创 2019-09-24 06:24:49 · 197 阅读 · 0 评论 -
Kotlin面向对象入门
Rect.ktclass Rect (var height:Int,var width:Int)fun main(args:Array<String>){ var rect01 = Rect(20,10) println("矩形的高度:${rect01.height}") println("矩形的宽度:${rect01.width}")}Gril...原创 2019-09-24 18:06:18 · 168 阅读 · 0 评论 -
Kotlin面向对象之开发一个洗衣机 - 封装
一、简陋版洗衣机Test.kt/** * 程序员B写的代码 * 洗衣服 */fun main(args:Array<String>){ var washMachine = WashMachine("小天鹅",size = 12) washMachine.openDoor()// washMachine.closeDoor() ...原创 2019-09-24 18:50:02 · 178 阅读 · 0 评论 -
Kotlin面向对象 - 继承(open和override)
Fathor.kt/** * 父亲 */open class Fathor{ var chactor:String = "性格内向" fun action(){ println("公共场合喜欢大声喧哗") }}Son.kt/** * 孩子 */class Son : Fathor()Test.ktfun main(a...原创 2019-09-24 19:19:26 · 3984 阅读 · 0 评论 -
Kotlin抽象类和继承
父类Human.kt/** * 抽象的人类 */abstract class Human(var name:String){ abstract fun eat()}子类Man.kt/** * 男人 */class Man(name:String) :Human(name){ override fun eat() { println("$...原创 2019-09-24 19:33:57 · 430 阅读 · 0 评论 -
Kotlin抽象类和接口
IMan.kt/** * 男人的接口 */interface IMan{ fun qiangzhuang()}Man.ktclass Man :IMan{ override fun qiangzhuang(){ println("能一人扛起18包大米") }}Test.ktfun main(args:Array<St...原创 2019-09-25 06:48:26 · 282 阅读 · 0 评论 -
Kotlin面向对象 - 代理和委托(by关键字)及单例模式
IWashBowl.kt/*** * 洗碗的接口 */interface IWashBowl{ fun washing()}BigHeadSon.kt/** * 大头儿子 */class BigHeadSon:IWashBowl{ override fun washing() { println("我是大头儿子,我在开心的洗碗,一次...原创 2019-09-25 22:04:20 · 466 阅读 · 0 评论 -
Kotlin语言之enum关键字 - 枚举
enum class Week{ 星期一,星期二,星期三,星期四,星期五,星期六,星期日}fun main(args:Array<String>){ println(Week.星期一.ordinal) println(Week.星期六.ordinal)}...原创 2019-09-25 22:04:23 · 1357 阅读 · 0 评论 -
Kotlin面向对象 - 印章类
Son.kt/** * 小母驴,小公驴,小公马生下来的儿子 */// sealed子类类型有限的classsealed class Son { fun sayHello(){ println("大家好!") } class 小小驴():Son() class 小骡子():Son()}Test.ktfun main(args...原创 2019-09-25 22:04:25 · 181 阅读 · 0 评论 -
Kotlin图片处理
创建Kotlin-JVM项目(不是Kotlin-Android项目),建议使用IntelliJ创建import java.awt.image.BufferedImageimport java.io.Fileimport javax.imageio.ImageIOfun main(args:Array<String>){ //内存中创建一个宽和高为100的图片 ...原创 2019-09-25 22:03:42 · 1439 阅读 · 0 评论 -
Kotlin语法编写一个非诚勿扰相亲平台项目(高阶函数:map、filter、groupBy、minBy、maxBy、find、any)
基础需求版Gril.ktdata class Gril(var name:String ,var age:Int,var height:Int,var address:String)var 非诚勿扰数据库 = listOf<Gril>( Gril("依儿",18,168,"山东"), Gril("笑笑",19,175,"河南"), Gril("小百...原创 2019-09-25 22:04:17 · 950 阅读 · 0 评论 -
Kotlin人机交互非空判断、确保用户输入数据判断和异常捕获
fun Test() { println("请输入第一个数字:") var num1str = readLine() println("请输入第二个数字:") var num2str = readLine()// var num1 = num1str?.toInt()//有可能是空toInt可能会报错,加问...原创 2019-09-24 05:23:25 · 461 阅读 · 0 评论 -
Kotlin数字和字符串之间的转换
fun Test() { var a = "13" var b = 13 a = b.toString()//把b数字转换成字符串放进a里面 b = a.toInt() //把a字符串转换成数字放入blimian //var c = "a3"//不能把字母转化为数字 //b = c.t...原创 2019-09-24 05:07:12 · 7959 阅读 · 0 评论 -
Kotlin变量和常量&类型推断
var声明变量val声明常量不同的数据类型用不同的容器保存kotlin会通过类型推断自动推断数据类型我们可以用:来显式的制定数据类型fun main(args:Array<String>){ var i =18 //智能类型判断 var q:Int = 18 //手动类型判断 //计算机给我一块存储空间,名字...原创 2019-09-23 07:17:25 · 774 阅读 · 0 评论 -
Kotlin变量取值范围
fun Test(){ val aByte:Byte = Byte.MAX_VALUE val bByte:Byte = Byte.MIN_VALUE println("Byte的取值范围为"+aByte) println("Byte的取值范围为"+bByte) val aLong:Long = Long.MAX_...原创 2019-09-23 07:29:11 · 1154 阅读 · 0 评论 -
Kotlin语言Boolean
fun BooleanTest() { var num1 = 4 var num2 = 5 println(num1 > num2) println(num1) println(num2) var num3 = Math.sqrt(5.0) - Math.sqrt(4.0) ...原创 2019-09-23 07:47:39 · 1879 阅读 · 0 评论 -
Kotlin函数
fun main(args:Array<String>){ var a = 8 var b = 2 println("a+b="+plus(a,b)) println("a-b="+plus(a,b)) println("a*b="+plus(a,b)) println("a/b="+pl...原创 2019-09-23 09:10:06 · 149 阅读 · 0 评论 -
Kotlin字符串模板写日记生成器
fun Test() { var diaty = diaryGenerater("故宫") println(diaty) } //日记生成器,接受参数是地点,返回值是日记的内容 fun diaryGenerater(placeName:String):String{ var temple = """ ...原创 2019-09-23 09:21:44 · 143 阅读 · 0 评论 -
Kotlin条件控制if和else
fun Test() { var score = 65 checkFace(score) } fun checkFace(score:Int){ if(score>80){ println("这是一个帅哥") }else{ println("这是一个衰哥") ...原创 2019-09-23 09:39:20 · 918 阅读 · 0 评论 -
Kotlin空值处理
fun Test() { var retult = heat("油") println(retult)// heat(null)//参数不能为空 var retult2 = heat2(null) println(retult2) } //接收一个参数,参数是非空的string类型...原创 2019-09-23 09:51:42 · 788 阅读 · 0 评论 -
Kotlin的when表达式编写日记生成器
Kotlin的When表达式和Java的Swith语句有以共同共之处 fun Test() { gradeStudent(8) } //10分满分,9分干得不错,8分还可以,7分还需努力,6分刚好及格,其他(需要加油啦) fun gradeStudent(score:Int){ when(score){ ...原创 2019-09-23 10:19:54 · 140 阅读 · 0 评论 -
Kotlin的Loop、Range和for循环
求和1+2+3+...+98+99+100 fun Test() { var nums = 1..100 var count = 0 //从nums里面把num取出来 for (num in nums) {// print("${num},")// count = count+num...原创 2019-09-23 10:49:08 · 546 阅读 · 0 评论 -
Kotlin的list和map入门
fun Test() { var lists = listOf("买鸡蛋","买大米","买冰淇淋","买水果") for((i,e) in lists.withIndex())//withIndex有下标的方式获取list println("${i} $e") for(list in lists) ...原创 2019-09-23 17:16:04 · 690 阅读 · 0 评论 -
Kotlin函数和函数表达式的四种表达方式
fun Test() {var result = add(3,5) println(result) var result2 = add2(3,5) println(result2) var i = {x:Int,y:Int -> x+y} println(i(3,5)) var j:(Int,Int) ->Int = {...原创 2019-09-24 02:36:03 · 472 阅读 · 0 评论 -
Kotlin默认参数和具名参数
val Pi = 3.14159f fun 获取长方形面积(长:Float,宽:Float):Float{ return 长*宽 } fun 获取圆的周长(PI:Float = Pi,半径:Float):Float{ return 2*PI*半径 } fun 获取圆的周长2(PI:Float = Pi,直径:Floa...原创 2019-09-24 02:35:56 · 621 阅读 · 0 评论 -
Kotlin语法编写一个非诚勿扰相亲平台项目 - 自定义dsl入门
有了dsl之后,任何人都可以是程序员,框架的设计师可以包装出来非常容易理解上手而零难度的框架,招进来一般程序员写小业务逻辑就能满足工作需求。Gril.ktdata class Gril(var name:String ,var age:Int,var height:Int,var address:String)var 非诚勿扰数据库 = listOf<Gril>( ...原创 2019-09-25 22:38:32 · 215 阅读 · 0 评论