
kotlin
gacmy
这个作者很懒,什么都没留下…
展开
-
kotlin lambda 集合
import javax.swing.plaf.SeparatorUI/** * Created by gacmy on 2017/6/15. *//**lamba 表达是的应用1* button.setOnClickListener(new OnClickListener(){* @Override* public void onClick(View view){*原创 2017-06-16 13:47:56 · 1121 阅读 · 0 评论 -
kotlin for 循环语句
//循环语句fun main(args:String){ for(arg in args){//循环1 println(arg) } //循环2 for ((index,value) in args.withIndex()){ println("$index -> $value") } //循环2等价与 ...原创 2018-10-31 14:06:55 · 4413 阅读 · 0 评论 -
Kotlin异常捕获
//异常捕获fun main(args:Array<String>){ try { val args1 = args[0].toInt() val args2 = args[1].toInt() println("$args1 $args2") }catch (e : NumberFormatException){ ...原创 2018-10-31 14:17:23 · 2037 阅读 · 0 评论 -
kotlin默认参数 具名参数 变长参数
//具名参数//变长 参数写法//某个参数可以接收多个值//可以不为最后一个参数 位于参数列表任意位置//如果传入参数有歧义,需要使用具名参数//*Array 只支持展开Array 只用于变长参数列表实参 不能重载 不算一般意义的运算符//默认参数 为函数参数指定默认值 可以任意位置指定默认值 传入参数有歧义使用具名参数传参fun main(vararg args:String){...原创 2018-10-31 14:32:31 · 820 阅读 · 0 评论 -
空类型,智能类型转换
//面向对象class 妹子 (性格:String, 长相:String, 声音:String):人(性格,长相,声音){ init {//构造方法 方法体 println("new 了一个妹子,他性格${性格},长相${长相}") }}class 帅哥 (var 性格:String,var 长相:String,var 声音:String){ in...原创 2018-10-24 15:36:31 · 402 阅读 · 0 评论 -
kotlin继承
abstract class Person(open val age:Int){//去掉abstract 默认class以final修饰 不能继承 可以使用open去修饰也可以继承 abstract fun work()}//类想要被继承 必须使用open修饰 或者abstract//方法想要被复写 也必须open或者abstract修饰 方法复写必须加上override关键字...原创 2018-11-01 10:57:20 · 527 阅读 · 0 评论 -
kotlin 扩展方法 数据类 属性代理
package kotlinall.chapter4import java.lang.StringBuilderimport kotlin.reflect.KProperty//类成员可见性//kotlin 属性默认public//internel 模块内可见//方法重载/** Overloads* 名称相同,参数不同的方法* Jvm函数签名的概念:函数名,参数列表* 跟...原创 2018-11-01 15:24:25 · 477 阅读 · 0 评论 -
kotlin内部类 匿名内部类
package kotlinall.chapter4open class Outter{ val a:Int = 0 class Inner{//内部类默认 访问属性public 而且静态内部类 fun hello(){ // println(a) 静态内部类无法访问 非静态外部类的成员变量 } } inne...原创 2018-11-01 15:42:35 · 1016 阅读 · 0 评论 -
kotlin枚举和密封类
package kotlinall.chapter4/** * 枚举是实例可数的类,枚举也是类 * 可以修改构造,添加成员 * 可以使代码清晰 但是需要一定开销 */enum class LogLevel(val id:Int){ VERBOSE(1),DEBUG(4),INFO(2),WAR(3),ERROR(5),ASSERT(7); fun getTag():S...原创 2018-11-01 16:04:23 · 1014 阅读 · 0 评论 -
kotlin 常用高阶函数
package kotlinall.chapter5import java.io.BufferedReaderimport java.io.FileReaderimport java.lang.StringBuilder//高阶函数 传入的参数是函数 或者返回是函数class Hello{ fun world(){ println("Hello World")...原创 2018-11-02 10:40:42 · 586 阅读 · 0 评论 -
kotlin 尾递归优化
package kotlinall.chapter5//尾递归//递归的一种形式//调用自身后无其他操作//tailrec 关键字提示编译器进行尾递归优化data class ListNode(val value:Int,var next:ListNode? = null)tailrec fun findListNode(head:ListNode?,value: Int):Lis...原创 2018-11-02 10:57:49 · 655 阅读 · 0 评论 -
kotlin 函数闭包
//闭包//函数运行的环境就是闭包//持有函数的运行环境//函数内部可以定义函数 也可以定义类val string = "hello world"fun makeFun():()->Unit{ var count = 0 return fun(){ println(++count) }}fun fibonacci():()->Lo...原创 2018-11-02 11:13:53 · 1396 阅读 · 0 评论 -
kotlin分支表达式
//中缀表达式//一个函数只有一个参数可而且用infix修饰 去掉.和()使用这个函数//分支表达式private const val USERNAME="gac"private const val PWD = "123"private const val ADMIN="admin"private const val ADMIN_PWD = "admin"private con...原创 2018-10-31 13:49:43 · 405 阅读 · 0 评论 -
kotlin基础数据类型
kotlin基础数据类型//Number类型//Double 64//Float 32//Long 64//Int 32//Short 16//Byte 8//运行在虚拟机中 长度和操作系统无关val aInt:Int = 8//java int Integer合体 自动进行区分val anotherInt:Int=0xFFval moreInt:Int = 0b00000...原创 2018-10-24 09:43:20 · 257 阅读 · 0 评论 -
kotlin运算符重载
//运算符重载定义//任意类可以定义或者重载父类的基本运算符//通过运算符的具名函数定义////重载运输符 方法名称 参数个数要对应 参数类型和返回值可以随意定义class Complex(var real:Double,var imaginary:Double){ // operator fun plus(other:Complex):Complex{//定义运算...原创 2018-10-31 11:16:42 · 399 阅读 · 0 评论 -
kotlin类型 非空 和空类型的处理
/** * Created by gacmy on 2017/6/15. */fun strLen(s:String) = s.length//会产生编译错误 空指针异常//fun strLenSafe(s: String?) = s.length // 类型后面加? 表明它可以为空值 但是你不能直接调用它的方法 否则会报错fun strLenSafe(s: String?):Int{//原创 2017-06-16 14:42:12 · 6794 阅读 · 0 评论 -
kotlin 函数(一)
/** * Created by Administrator on 2017/6/3. */fun hello():String = "hello world"fun hello(name :String , location : String):String = "hello to you $name at $location"fun print1(str:String) :Unit{//函原创 2017-06-06 20:40:31 · 373 阅读 · 0 评论 -
kotlin基础
阅读Programming Kotlin 敲的代码 作个记录 只是给自己看的import java.io.Fileimport java.math.BigDecimalimport java.util.*/** * Created by Administrator on 2017/6/3. */val name = "kotlin";//var name1;//name1 = "kot原创 2017-06-06 20:44:40 · 401 阅读 · 0 评论 -
默认参数和扩展函数(一)
//函数默认参数fun divide(divisor:BigDecimal, scale: Int = 0,roundingMode: RoundingMode = RoundingMode.UNNECESSARY):Unit{}//调用divide函数 的几种方式fun testDefaultParmas(){ divide(BigDecimal(12.34)) divide原创 2017-06-07 20:44:01 · 456 阅读 · 0 评论 -
扩展函数重写,返回多参函数,infix函数
//重写 成员函数的扩展函数//如果你希望子类可以重写 父类的扩展函数 应该用open 去修饰扩展函数interface Base{}class Electron : Base{}class Particle : Base{}open class Element(val name: String){ open fun Particle.react(name: String): Un原创 2017-06-08 20:41:53 · 514 阅读 · 0 评论 -
kotlin函数区间
package kotlinall.chapter1//kotlin 区间val range:IntRange = 0..1024//[0,1024]val range_integer:IntRange = 0 until 1024//[0,1024)val emptyRange:IntRange = 0..-1fun main(args:Array<String>){ ...原创 2018-10-25 14:49:14 · 374 阅读 · 0 评论 -
kotlin数组
package kotlinall.chapter1//kotlin数组val array_int:IntArray = intArrayOf(1,3,5,7) //java 基本类型定制版本 防止装箱 拆箱val array_char:CharArray = charArrayOf('5','6','4')val array_string:Array<String> = ar...原创 2018-10-25 14:49:55 · 1448 阅读 · 1 评论 -
kotlin常量与变量
//kotlin 常量与变量val FINAL_HELLO_WORLD:String = "Hello World"//常量 public final String HELLO_WORLD java 里的类型var hello_world:String = "hello world"val FINAL_HELLO_CHINA = "Hello World"//类型可以省略 类型推导 编译器...原创 2018-10-26 13:48:43 · 496 阅读 · 0 评论 -
kotlin lambada表达式
val sum ={arg1:Int,arg2:Int ->//lamba 表达式和匿名函数一样的 println("arg1={$arg1} arg2=${arg2}") arg1+arg2//最后一行返回值 //(Int,Int)-> Int 传入两个int 返回一个int}//参数返回值可以用->分割val printHello={ print...原创 2018-10-31 10:22:12 · 412 阅读 · 0 评论 -
kotlin 函数
//函数区别与class里的方法//函数以fun开头 main函数名 args参数//kotlin没有返回值 返回Unit 相当于java void 可以省略不写//{}里面是函数体fun main(args:Array<String>):Unit{ val arg1 = sum(1,2) println(arg1) println(int2Long(...原创 2018-10-26 13:58:58 · 411 阅读 · 0 评论 -
kotlin类的成员变量 方法
//kotlin成员变量 成员方法//函数强调本身不考虑从属//方法的称呼通常从类的角度出发//构造方法参数中 val/var修饰的都是属性//类的内部也可以定义属性class 妹子(性格:String,长相:String,声音:String){ fun 唱歌(歌名:String){ println(歌名) } fun 跳舞(舞名:String...原创 2018-10-31 10:51:18 · 3744 阅读 · 1 评论 -
kotlin 复合函数 函数链式调用 以及偏函数
package kotlinall.chapter5import java.io.OutputStreamimport java.nio.charset.Charset//复合函数//求f(g(x))的值val add5={i:Int->i+5}val mutilplyBy2 = {i:Int-> i*2}//复合函数 扩展Function1的扩展方法 infix...原创 2018-11-02 13:58:36 · 2737 阅读 · 0 评论