Kotlin 基本语法
来源:互联网 发布:电子相册制作软件推荐 编辑:程序博客网 时间:2024/06/17 04:21
概述
本文对这几天学习Kotlin作一个简单总结,大概包括Kotlin的基本数据类型,集合类型,控制流,基本语法,类与对象。
Kotlin是 JetBrains 开发的基于JVM的一门新语言,它是一门全栈语言,用于开发服务端,Android,JavaScript。今年Google将Kotlin选作Android的官方开发语言,作为一个Android应用开发者很有必要学习一下这门官方语言。简单学习了几天后对它的感受:
1. 语法简洁(听说可以少30%的代码)
2. 空指针安全,提供了多种操作符(?.:,?:,!!),再也不用担心因为找不到对象而程序奔溃了
3. Lambda 表达式支持(很酷是吧,不算了解,但是写的代码很酷,尽管经常看不懂)
4. 扩展函数
5. 与Java几乎可以算是无缝链接(别问差在哪里不行,记得文档上面是这么说的)
基本类型
基本类型和Java没有太大差别,注意下Array的用法即可
1. 数值类型:Double、Float、Long、Int、Short、Byte
2. 字符类型:Char、String
3. 布尔类型:Boolean
4. 数组类型:Array
集合类型
区分可变集合和不可变集合,还是经典的三大类型,列表,Set,字典Map,注意区分理解什么事可变和不可变
1. List MutableList;
2. Set MutableSet
3. Map
控制流
控制流和Java基本一样,除了when代替switch,其它基本没有变化,包括break,continue,return
1. if else
2. when
3. for
4. while/do while
基本语法
代码的命名风格参考Java的编码规范即可,驼峰命名法,类名,大写,方法和属性小写开头,使用4个空格缩进,公有函数写文档等。
1. 包
包的声明和导入,与Java没有什么区别,与Java不同的是目录与包的结构无需匹配,源代码可以在文件系统的任意位置
2. 变量
val a: Int = 0 // 定义一个不可变的变量
var a: Int? = 0 // 定义一个可变的变量
3. 方法
声明方法需要关键字:fun,举个栗子:
fun draw(text: String): Boolean{
}
4. 可⻅性修饰符
有4个关键字:private 、 protected 、 internal 和 public,默认可见性为public,因为目录和
private:文件内可见(包级声明),类内部成员可见(类和接口)
protected:适用于类,类和子类可见
internal:模块内可见
public:随处可见
类和对象
声明类的关键字还是class,抽象类需要abstract修饰,有点不一样的是类默认是Java中的final的,如果类允许基础,需要用open修饰。构造函数有主次之分,且主构造函数不能包括任何代码,初始化代码可以放到init初始化块中。继承父类需要用主构造函数的参数初始化父类的的主构造函数,接口实现直接在”:”之后声明要实现的接口:
class Customer(name: String): ClassA(params),InterfaceA,InterfaceB { init { logger.info("Customer initialized with value ${name}") }}
定义属性
属性的完整定义如下,如果不定义set和get,直接通过属性名可以访问(默认是有setter和getter)
var stringRepresentation: String get() = this.toString() set(value) { setDataFromString(value) // 解析字符串并赋值给其他属性 }
set和get可以用可⻅性修饰符修饰,如,一个属性不允许外部赋值,那么可以将set定义为private
方法
方法声明除了使用关键字fun之外,没有什么特别,如果允许重写,需要加open修饰。
高级
Java转Kotlin入门到此结束,并没有发现对比于Java的优势,只是语法简单了一点而已。真正要用好Kotlin,估计要深入学习后面的这些板块:
- 对象声明与伴生对象、数据类
- 扩展
- 空安全与异常
- 注解和反射
- 委托,lambda表达式,高阶函数
- Java互操作
- Kotlin 基本语法
- Kotlin基本语法
- kotlin基本语法
- kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin 基本语法 (一)
- Kotlin 基本语法 (二)
- Kotlin~基本语法
- KOtlin 基本语法
- kotlin---基本语法
- Kotlin基本语法
- Kotlin 基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- 算法提高 ADV-207 最长字符序列
- ncftp命令 ---待整理
- LeetCode——73. Set Matrix Zeroes
- 进程\线程同步机制
- 在 JS 中使用 fetch 更加高效地进行网络请求
- Kotlin 基本语法
- web学习第四篇css样式学习
- [笔记] awk命令计算sum, min, max, avg
- (八)STM32的CAN模块实验
- 【leetcode】Two Sum
- Android 使用SharedPreferences保存各种数据(List,Map,对象等)+ SpUtils工具
- 20170911-20170917 HTML+CSS工作学习周总结
- 解决inline-block引起的空白间距问题
- 数据结构(二)数据结构与基本算法