E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
kotlin学习笔记
Kotlin学习笔记
(十一)when表达式
/***when表达式中可实现Java中的switch效果,*并可支持更多的表达式,也可实现if...else...的效果*一旦有一个条件是符合的,便不再执行下一条*/funmain(args:Array){valx=5when(x){isInt->println("Hello$x")in1..100->println("$xisin1..100")!in1..100->println("$xin
lkmc2
·
2020-03-20 17:05
Kotlin学习笔记
前言:在线编辑IDE:https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt本地PDF文档:file:///C:/Users/Administrator.PC-201704222111/Desktop/kotlin-reference-chinese.pdf1.基础
Asmewill
·
2020-03-17 18:51
Kotlin学习笔记
(四十七)高阶函数filter、filterIndexed、takeWhile
/***高阶函数*1.filter函数:用来提取(过滤)列表里面符合条件的元素形成新的列表,filter中表达式的值代表希望提取的内容*2.filterIndexed函数:与filter原理相同,可以取到列表的下标和值*3.takeWhile函数:连续提取出列表中值满足条件的元素,一旦碰到不满足条件的元素,提取终止*/funmain(args:Array){vallist=listOf(1,2,3
lkmc2
·
2020-03-17 01:18
kotlin学习笔记
——重载操作符
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.htmlKotlin中有很多操作符可以使用,具体可以见http://blog.csdn.net
chzphoenix
·
2020-03-16 13:09
Kotlin学习笔记
(二十六)接口与抽象类的区别
/***接口与抽象类的区别:*1.抽象类可以为属性设置值和getter、setter,而接口不可以*2.抽象类和接口中都可以有默认的实现方法,但接口中的方法不能有状态,*即涉及到属性的值需要到实现类中设置*3.子类只能继承一个父类,但可以实现多个接口*/abstractclassA{//抽象类vari=0//抽象类的属性可以有值//funhello(){//普通的方法默认为final方法,不能被子
lkmc2
·
2020-03-15 22:57
Kotlin学习笔记
-基础语法
去年学习过一遍Kotlin,相比java而言,Kotlin确实有许多方便的地方,但是学习之后一直没有真正拿来写项目,很久不用很多东西都已经忘记了。最近Google宣布Kotlin成为Android开发的官方语言之后,Kotlin突然变得火热起来,我也打算复习一遍Kotlin的语法(主要是和java不同的地方)并用笔记记录下来。基本数据类型数值类型TypeByteShortIntLongFloatD
Wang_Yi
·
2020-03-15 19:32
kotlin学习笔记
——kotlin中for,foreach的循环控制(continue,break)
以下代码例举出了在kotlin中使用continue和break的各种用法classTest{companionobject{/**我是main入口函数**/@JvmStaticfunmain(args:Array){vallist=arrayListOf("1","2","3","4","5")vallist2=arrayListOf("A","B","C","D","E")println("=
崔兴旺
·
2020-03-14 20:44
2019-01-07
kotlin学习笔记
基本数据类型:kotlin:封装的数字类型,你每定义的一个变量,其实Kotlin帮你封装了一个对象java:基础数据类型+包装类型注意点:在Kotlin中,三个等号===表示比较对象地址,两个==表示比较两个值大小。类型转换:注意点:较小的类型不能隐式转换为较大的类型。这意味着在不进行显式转换的情况下我们不能把Byte型值赋给一个Int变量。位移:注意点:仅Int和Long可以使用位移操作符,所以
闲散老人
·
2020-03-13 12:26
Kotlin学习笔记
(三)字符串模版
valstring:String="HelloWorld"//字符串对象valfromChars:String=String(charArrayOf('H','e','l','l','o','W','o','r','l','d'))//由字符组成的字符串对象funmain(args:Array){println(string==fromChars)//相当于equals方法,比较其内容printl
lkmc2
·
2020-03-12 15:33
Kotlin学习笔记
(二十一)类成员
/***类中的函数参数不能用var和val来修饰*类的构造方法中,加var或val的为属性,不加的为参数*/classAnimal(varname:String,varage:Int,hobby:String){funsing(songName:String){println("动物正在唱歌:$songName")}fundance(danceName:String){println("动物正在跳
lkmc2
·
2020-03-12 07:26
Kotlin学习笔记
(四十四)高阶函数flapMap
/***常见高阶函数*flatMap函数:可把带区间的函数转换成元素相同但不带区间的列表*/funmain(args:Array){vallist=listOf(//包含区间的列表1..5,2..4,100..104)//[1,2,..,5,2..4,100,101...104]将list转换成单行列表valflatList=list.flatMap{it}//[No.1,No.2,..,No.5
lkmc2
·
2020-03-11 06:01
Kotlin学习笔记
前言以前用过Groovy,最近开始学习Kotlin,下面随手记录下学习的过程说明文档在线测试Array数组定义vararrays:Array创建valarrays=arrayOf(1,2,3,4)valarrays=Array(5,{position->(position*position).toString()})5代表数组长度,后面是构建函数position是下标ByteArray,Short
维少
·
2020-03-07 08:44
kotlin学习笔记
——集合及集合操作符
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.html1、创建集合可以使用listOf/setOf/arrayListOf/hashSetOf
chzphoenix
·
2020-03-06 19:56
Kotlin学习笔记
(一 )
Kotlin有两个变量相关的关键字:val和varvar是一个可变的变量,可通过指向另一个值(value)初始变量varname:Stringvarvariables-name:Typename="kotlin"定义的var变量可以被再指定varname="kotlin"name="morekotlin"关键字val被用来声明一个只读变量,val在被创建时必须要进行初始化valname="kotl
神奇渔夫
·
2020-03-06 19:11
Kotlin学习笔记
之 13 基础操作符run、with、let、also、apply
首发于公众号:DSGtalk198913.基础操作符run、with、let、also、apply使用流程T.run和run对象的run方法,在方法体中的最后一行可以做返回值,且方法体中的this代表对象本身的引用。valstr:String="Boss"valresult=str.run{print(this)//参数69//区间返回值}直接使用run方法,其实就是class本身调用的run,所
super_shanks
·
2020-03-06 17:09
Kotlin学习笔记
(十五)函数
/***编写函数注意事项*1.功能要单一*2.函数名要做到顾名思义*3.参数个数不要太多*普通函数也叫具名函数,也就是有具体名称的函数*函数的默认返回值为Unit类型,返回值带其他的类型的需要在参数的括号后加冒号并指定返回值类型*/funmain(args:Array){//main函数的类型(Array)->UnitcheckArgs(args)vala:Int=args[0].toInt()v
lkmc2
·
2020-03-06 10:48
Kotlin学习笔记
(十三)中缀表达式
classBook{infixfunon(any:Any):Boolean{//infix表示中缀表达式,定义了on表达关键字,原本是没有的returnfalse}}classDeskfunmain(args:Array){if(Book()onDesk()){//dsl中常用,自定义运算符on}}
lkmc2
·
2020-03-06 09:20
Kotlin学习笔记
(一)配置开发环境
Kotlin是JetBrains团队历时数年开发、完善和维护的一门直接在JVM上面跑的语言,目前最直接的运用应该就是编写Java和Android项目了,这也受益于它是一种“继承”于Java,同时又与Java保持良好绝对的兼容性的特点。通常开始学习一门新语言必不可少的第一步便是配置开发环境,捣鼓IDE之类的,良心的JetBrains团队在推出Kotlinv1.0稳定版的时候顺手放出一个Kotlin在
btnRetry
·
2020-03-03 02:52
Kotlin学习笔记
(五十九)框架集合
funmain(args:Array){//使用java中的ArrayListvalarrayList=ArrayList()arrayList.add("Hello")//添加元素HelloarrayList.add("World")//添加元素WorldarrayList.add("Jack")//添加元素JackarrayList.remove("World")//移除元素Worldarra
lkmc2
·
2020-02-28 17:10
Kotlin学习笔记
(二)---从零学习Kotlin
Kotlin学习第二弹,第一篇
Kotlin学习笔记
(一)---从零学习Kotlin了解了Kotlin中最基础的数据类型、显式转换、字符串、字符、布尔等。现在来了解Kotlin中控制流。
T9的第三个三角
·
2020-02-28 17:38
Kotlin学习笔记
(五十五)统计字符串个数程序开发
funmain(args:Array){valmap=HashMap()////读取build.gradle文件,变成字节数组后,提取出非空字节内容后遍历//File("build.gradle").readText().toCharArray().filterNot(Char::isWhitespace).forEach{//valcount=map[it]//用来统计当前字节个数的临时变量//
lkmc2
·
2020-02-28 02:49
Kotlin学习笔记
(二十四)默认参数
/***默认参数*在声明参数时,可指定参数的默认值,*若在调用该函数时不传入该参数,系统则使用默认的参数值,*但是需指定其他参数的参数名(如果是最后一个参数则不用)*当参数全都有默认值的时候可以不传参数*/funmain(args:Array){valarray=intArrayOf(1,2,3,4)hello2(ints=*array,string="Hebe")hello3(string="A
lkmc2
·
2020-02-27 08:59
Kotlin学习笔记
(四)约定(一)
约定,指使用与常规方法调用语法不同的、更简洁的符号,调用有着特殊命名的函数。举个例子:如果你在类中定义了一个名为plus的特殊方法(需要用operator关键字来声明该方法),那么按照约定,你就可以在该类的实例上使用+运算符。算术运算符约定二元算术运算符表达式函数名a+bplusa-bminusa*btimesa/bdiva%brem我们使用运算符时,实际上调用的是与之对应的函数。注意事项:这种自
风少侠
·
2020-02-25 03:05
Kotlin学习笔记
(五十一)闭包
/***闭包*1.闭包指的是函数的运行环境*2.闭包可以持有函数的运行环境*3.函数内部可以定义函数*4.函数内部也可以定义类*5.在函数中返回一个函数,被返回的函数可以调用主函数的属性*/valstring="HelloWorld"funmakeFun():()->Unit{//返回值为一个无参无返回值的函数varcount=0returnfun(){//返回一个匿名函数println(++co
lkmc2
·
2020-02-23 15:48
Kotlin学习笔记
之 24 操作符重载
首发于公众号:DSGtalk198924.操作符重载操作符方法对应表表达式翻译为+aa.unaryPlus()-aa.unaryMinus()!aa.not()a++a.inc()a--a.dec()a+ba.plus(b)a-ba.minus(b)a*ba.times(b)a/ba.div(b)a%ba.rem(b)a..ba.rangeTo(b)ainbb.contains(a)a!inb!b
super_shanks
·
2020-02-21 10:15
Kotlin学习笔记
-类-构造函数(1)
kotlin中类不一定要与文件名相同,一个文件中可以声明多个类kotlin中创建对象不需要使用new关键字kotlin中类最简单的声明方式class类名kotlin中类所属的包是package关键字后定义的,与类物理的包位置没有关系(建议所属包与物理包一致)image.png类可以包含:构造函数和init块属性函数嵌套类和内部类对象声明构造函数kotlin中一个类可以有一个主构造函数和多个次构造函
Rock__Lee
·
2020-02-20 14:02
Kotlin初识小结(一)
Kotlin学习笔记
代码https://github.com/DrMilk/KotlinLearningNotes▼Kotlin简介♦Кotlin是一个运行在Java虚拟机上的现代编程语言。
吴振宇
·
2020-02-20 13:46
Kotlin学习笔记
之 12 对象表达式和对象声明
首发于公众号:DSGtalk198912.对象表达式和对象声明方法返回匿名对象我们也可以直接将object关键字修饰的匿名类赋值给方法,表明这个方法返回的是一个匿名内部类对象。同时私有方法返回的匿名对象的属性是可以在本地被访问的,非私有方法返回的匿名对象的属性是不能访问的。//私有函数,所以其返回类型是匿名对象类型privatefunfoo()=object{valx:String="x"}//公
super_shanks
·
2020-02-20 03:24
Kotlin学习笔记
之 19 高阶函数与 lambda 表达式
首发于公众号:DSGtalk198919.高阶函数与lambda表达式我们通常将函数作为参数或者返回值的函数成为高阶函数带接收者的函数类型在kotlin中我们,函数也是一种类型。比如()->Int,这个表示无参的返回类型为整型的函数。(String,Int)->Int表示需要两个参数String和Int,并且返回的Int的函数。这里要介绍的是带接收者的函数类型,比如String.(String)-
super_shanks
·
2020-02-20 02:21
Kotlin学习笔记
(十四)具名参数
/***具名参数:在使用函数的时候,把参数名写上,*参数名的顺序可交换,但只要其中一个写上参数名,其他的就必须写上*/funmain(args:Array){println(sum5(x=4,y=5))println(sum5(y=2,x=4))}funsum5(x:Int,y:Int):Int=x+y运行结果
lkmc2
·
2020-02-19 11:50
Kotlin学习笔记
之 31 协程挂起函数的组合
首发于公众号:DSGtalk198931.协程挂起函数的组合同步与并发通常情况下,协程中的挂起函数都是同步执行的,执行完一个执行另一个,我们举个例子,作如下的两种计算。suspendfundoSomethingUsefulOne():Int{delay(1000L)//假设我们在这里做了某些有用的工作return13}suspendfundoSomethingUsefulTwo():Int{del
super_shanks
·
2020-02-19 07:56
Kotlin学习笔记
<二>
1.变量和属性*在Kotlin中,一切都是对象。没有像Java中那样的原始基本类型。这个是非常有帮助的,因为我们可以使用一致的方式来处理所有的可用的类型。基本类型当然,像integer,float或者boolean等类型仍然存在,但是它们全部都会作为对象存在的。基本类型的名字和它们工作方式都是与Java非常相似的,但是有一些不同之处你可能需要考虑到:数字类型中不会自动转型。举个例子,你不能给Dou
一个大西瓜CPI
·
2020-02-18 15:01
kotlin学习笔记
-继承、单例、数据类
自从2017年中旬Google大会将kotlin作为Android的官方语言,至今也有将近一年的时间了,趁这段时间正好整理了下我学习kotlin的一些见解与笔记,将它以文章的形式发布出来。今天我们所讲的是关于kotlin中的接口与抽象类、继承、接口代理、接口方法冲突、类以及成员的可见性、object(单例)、伴生对象、静态成员、方法重载、扩展成员,数据类,内部类,枚举。可能这篇的篇幅有点长,希望大
码字农民工
·
2020-02-18 06:25
Kotlin 学习笔记(三) 包与导入
Kotlin学习笔记
(三)包与导入这是一个Kotlin系列的教程,目的是为了使自己记忆和理解的更加深刻,将会添加对应的Java代码用于对比学习和更好的理解。
真的有照片
·
2020-02-17 11:16
Kotlin学习笔记
—— 第一个“hello world”
Kotlin学习笔记
目录Kotlin第一个helloworld首先说一下Java和kotlin语言的后缀:Java:HelloJava.javaKotlin:HelloKotlin.ktJava代码:publicclassHelloJava
Jack_Chao
·
2020-02-17 05:57
Kotlin学习笔记
(五十)尾递归优化
/***尾递归优化*1.调用自身后无其他操作的递归叫尾递归*2.使用tailrec关键字提示编译器尾递归优化,可大幅度加快运行效率,只适用于尾递归的情况*/dataclassListNode(valvalue:Int,varnext:ListNode?=null)//链表结点tailrecfunfindListNode(head:ListNode?,value:Int):ListNode?{//根
lkmc2
·
2020-02-16 23:32
Kotlin学习笔记
<一>
1.什么是Kotlin?Kotlin,它是JetBrains开发的基于JVM的语言。JetBrains因为创造了一个强大的Java开发IDE被大家所熟知。AndroidStudio,官方的AndroidIDE,就是基于Intellij,作为一个该平台的插件。2.优点它更加易表现*通过Kotlin,可以更容易地避免模版代码因为大部分的典型情况都在语言中默认覆盖实现了。举个例子,在Java中,如果我们
一个大西瓜CPI
·
2020-02-16 20:16
Kotlin学习笔记
之 16 委托
首发于公众号:DSGtalk198916.委托委托实现一般直接使用:Classbyc来做委托实现,大致的意思就是classDerived(b:Base):Basebybfunmain(){valb=BaseImpl(10)Derived(b).print()}有很多类都实现了或者继承了Base,具体Derived要如何去实现Base的抽象方法,不单独定义,直接委托给b,也就是说Derived的抽象
super_shanks
·
2020-02-14 06:19
Kotlin学习笔记
之 7 接口
首发于公众号:DSGtalk19897.Kotlin接口默认实现kotlin支持接口方法的默认实现,以及支持接口属性的重写接口中的属性无法进行初始化,但是我们依然可以通过改写访问器的方式,来给到属性定制化interfaceMyInterface{valpropertyWithImplementation:Stringget()="2"}相同接口方法classD:A,B{overridefunfoo
super_shanks
·
2020-02-14 05:25
Kotlin学习笔记
之 21 解构声明
首发于公众号:DSGtalk198921.解构声明我们可以直接通过括号包含变量的方式进行数据获取一般使用比如有个类Person有两个属性name``age。我们一般的获取方式是这样的classPerson{varname="1"varage=4}funmain(){valperson=Person()valname=person.namevalage=person.age}我们白白产生了一个per
super_shanks
·
2020-02-13 21:25
Kotlin学习笔记
之 11 枚举类
首发于公众号:DSGtalk198911.Kotlin枚举类枚举类初始化关键字是enum,kotlin中的枚举类初始化可以有参数,比如:enumclassShape(value:Int){ovel(100),rectangle(200)}我们习惯性的会将枚举对象大写,但实际上不一定需要。并且这里我们会将破天荒的第一次在kotlin中去使用分号;,它主要用来区分枚举对象和成员函数的enumclass
super_shanks
·
2020-02-13 14:27
kotlin学习笔记
与java不同的特性1.包导入importbar.BarasbBar//bBar代表“bar.Bar”2.控制流if的分支可以是代码块,最后的表达式作为该块的值:valmax=if(a>b){print("Choosea")a}else{print("Chooseb")b}3.返回和跳转在Kotlin中任何表达式都可以用标签(label)来标记。标签的格式为标识符后跟@符号,例如:abc@、foo
R7_Perfect
·
2020-02-13 12:29
Kotlin学习笔记
之 1 基础语法
首发于公众号:DSGtalk19891.基础语法方法描述funmethodName(type1:Type,type2:Type2):returnType{}funmethodName(type1:Type,type2:Type2):Unit{type1=type2}变长参数varargfunmethodName(varargv:Int){//此处v是个数组for(nvinv){print(v)}}
super_shanks
·
2020-02-13 12:17
Kotlin学习笔记
之 3 条件控制
首发于公众号:DSGtalk19893.条件控制if表达式kotlin中可以更加简便的使用if语句进行赋值vari=if(a>b)1else2vari2=if(a>b){print("Choosea")a}else{print("Chooseb")b}when的使用when在kotlin中,就是用来替代switch的,如下:when(x){1,0->print("1or0")in1..10->pr
super_shanks
·
2020-02-13 09:01
Kotlin学习笔记
之 32 协程异常处理
首发于公众号:DSGtalk198932.协程异常处理异常的传播launch和actor构建器是不传播异常的,async和produce是传播异常的。这里的传播说的更容易理解一点叫做,往外抛,即不传播异常就是在本协程中自己消化,异常发生在本协程所在的线程;传播异常表示不在本协程所在线程发生,异常直接往外抛到启动该协程所在的线程。我们看如下demovaljob=GlobalScope.launch{
super_shanks
·
2020-02-12 22:29
Kotlin学习笔记
之 2 基本数据类型
首发于公众号:DSGtalk19892.基本数据类型分割数字为了更直观,可以在数字上用_来进行截取(这个kotlin和java都OK,只是现在才发现而已)比如中国人比较喜欢1_0000_0000表示一个亿外国人比较喜欢1_000_0001million同样的0xEF_10_CC分割十六进制等基本数据类型还是封装数据类型大家都会有个误解,说kotlin只有Int没有Integer,是kotlin放弃
super_shanks
·
2020-02-12 19:22
kotlin学习笔记
-类、成员、表达式
自从2017年中旬Google大会将kotlin作为Android的官方语言,至今也有将近一年的时间了,趁这段时间正好整理了下我学习kotlin的一些见解与笔记,将它以文章的形式发布出来。今天我们所讲的是关于kotlin中的常量与变量、函数、Lambda表达式、类成员、运算符、中缀表达式、分支表达式、循环语句、异常捕获、函数参数。可能这篇的篇幅有点长,希望大家耐心看完,或者可以收藏起来,以后方便查
码字农民工
·
2020-02-12 16:41
Kotlin学习笔记
之 27 类型别名
在kotlin中我们使用关键字typealiastypealiasAwsomeList=Array>>
Kotlin学习笔记
之1基础语法
Kotlin学习笔记
之2基本数据类
super_shanks
·
2020-02-12 15:54
Kotlin学习笔记
之 23 相等判断
Kotlin学习笔记
之1基础语法
Kotlin学习笔记
之2基本数据类型Kotlin学习
super_shanks
·
2020-02-12 04:58
Kotlin学习笔记
- 泛型
1.基本用法classBox{privatevarelement:T?=nullfunadd(element:T){this.element=element}funget():T?=element}2.型变型变包括协变、逆变、不变三种:协变:泛型类型与实参的继承关系相同逆变:泛型类型与实参的继承关系相反不变:泛型类型与实参类型相同Java的型变首先明确一点,Java不直接支持型变。通俗地讲,虽然I
全栈Evan
·
2020-02-12 01:05
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他