Kotlin基础】的更多相关文章

写在前面: 因为工作需要,目前转安卓开发,用的IDE是AS3.2版本,语言的话,用的是Kotlin.由于之前是做.NET的,没接触过这方面的东西,所以完全是小白一枚.所以想着开个博客,以此来记录自己的学习进度.光是环境搭建,自己琢磨了一上午,也上网百度,最后在一以前搞安卓开发的同事的帮助下,才完成环境的搭建. --------------------------------------------我是分割线---------------------------------------------…
Kotlin的类型系统 一.可空类型 //s为null的话编译器会报错,没问号不能为空 fun strLen(s : String)=s.length //如果允许s为空可: fun strLen2(s : String?) : Int{ if (s!=null) return s.length else return 0 } /* 注意可空类型和不可空类型只是在编译期做的 检查不同,runtime这两者并无区别 */ //"?."的用法 fun strLen3(s : String?…
1. 改进点/基础 //安全判空 val length = text?.length; //类型转换 if (object is Car) { var car = object as Ca } //操作符变化 & and | or ^ xor >> shr << shl //打印日志 print("123123") println("asdassda") 2. 字符串 //多行字符串 val xx = ""&quo…
一切都需要从基础学起! 前言: 在Kotlin语言中,没有分号的概念了,也就是每一行代码,都不在需要用分号结束了 点击查看代码 定义 常量:val --相当于java当中的final 变量:var 关键字:如枚举关键字enum,在 ‘enum class 类名’ 中,enum是关键字,但是如果 ‘val enum = 1’中,enum就不是关键字了 类型:以冒号:隔开在后面,也可以省略直接赋值,类型后带问号?表示可为空类型(默认空安全) 是否为null参数定义:如x: String?表示x变量是…
继续学习基础语法,在上次https://www.cnblogs.com/webor2006/p/11183077.html中定义了一个两数相加的函数,如下: 其实对于这个函数还可以进一步简写,因为函数体就一句话,如下: 那如果函数不返回值呢,看下面的例子: 其实Unit是可以省略掉的,IDE中也已经将它标灰了,如下: 那,这个Unit是干嘛用的呢?之后再学习,先不管这个细节.如果说想输出“a+b=5”这个形式的字串那该怎么来弄呢,叫Java的风格应该是这么写的: 但在Kotlin中可以采用“字符…
对于Kotlin中的函数来说,和JavaScript或者Lua这些语言很像,它有着这些语言的特性.但是也与这些语言就着许多不同之处.或许你更了解Java语言,然而对于Java语言来说,它不是不是闭包这个特性的.由于在这篇文章主要是讲解函数的基本使用,故而只会讲解到函数的定义.函数的返回值.函数的参数等.剩下的部分我会在这个系列的高级篇会给大家奉上. 目录 一.函数的声明及基本使用 在Kotlin中函数的声明,同JavaScript相似. 1.1.函数的声明 Kotlin中的函数声明关键字为:fu…
1.函数也是对象,可以作为参数和返回值 2.使用驼峰命名,尽量避免下划线 3.public函数应当有说明文档 4.lambda中花括号内前后都应该有空格 5.空值安全检查  var s: String? = null;当一个变量允许为空值时,必须使用?来声明 6.当?:左边表达式不为空时,返回表达式的值,否则执行?:右边表达式的值 7.as?  安全类型转换,转换失败会返回null 8.lambda表达式相当于一个函数     fun add(x :Int,y :Int) : Int = x +…
Kotline简介 Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源.与Java相比,Kotlin的语法更简洁.更具表达性,而且提供了更多的特性,比如,高阶函数.操作符重载.字符串模板.它与Java高度可互操作,可以同时用在一个项目中. Kotlin语法 1.函数的使用 定义函数使用fun关键字,如下代码所示: fun add(a: Int, b: Int): Int { return a + b } 函数add有两个Int型的参数,冒号后跟的是函数的返…
Lambda编程 一.Lambda表达式和成员引用 一)Lambda表达式语法 //注意与Java8中的区别 val sum={ x:Int,y:Int -> x+y } println(sum(5,6)) run { print(33) } data class Person(val name:String,val age:Int) fun main(args: Array<String>) { val persons= listOf<Person>(Person(&quo…
类.对象和接口 一.定义类的继承结构 一)Kotlin中的接口 Kotlin的接口与Java8中相似,它们可以包含抽象方法的定义以及非抽象方法的实现,但它们不能包含任何状态. interface Clickable{ fun click() fun showoff()=println("It's show time!") } interface Focusable{ fun setFocus(b: Boolean)= println("I ${if (b) "got…