Kotlin基本语法
2017-06-10 12:29
330 查看
Kotlin的前世今生
甲骨文因java侵权起诉谷歌,老大哥谷歌怎会受得了这窝囊气,于是谷歌就想必须得有自己的开发语言,于是在今年的谷歌大会上,谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。这一次人们坐不住了啊,谷歌爸爸有自己官方语言,未来的kotlin会不会成为主流,我们是不是应该学习kotlin呢?Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。知道了Kotlin那么就让来了解一下Kotlin的基本语法吧
定义局部变量赋值一次局部变量<span style="color:rgb(204,51,204); background-color:rgb(255,255,255)">fun main(args: Array<String>){ val a: Int = 1 val b = 2 val c: Int c = 3 println("a = $a, b = $b, c = $c") }</span> 可变的变量<span style="font-size:14px;color:rgb(204,51,204); background-color:rgb(255,255,255)">fun main(args: Array<String>){ var x = 5 x += 1 println("x = $x") }</span> 定义函数使用fun关键字funsum (a : Int, b : Int) : Int { return a*b;}函数add有两个Int型的参数,冒号后跟的是函数的返回值,一条代码语句的末尾不用加分号注释<spanstyle="background-color:rgb(255,255,255)"><span style="color:rgb(204,51,204)">像 Java 和 JavaScript 一样,Kotlin 支持行注释和块注释。 // 这是行注释 /*这是 块注释 */</span><span style="color:rgb(255,255,255)"><span style="font-family:Arial"><span style="font-size:14px; line-height:26px"></span></span></span></span> 和 Java 不同的是,Kotlin块注释可以嵌套使用条件表达式<spanstyle="color:rgb(204,51,204)"><span style="background-color:rgb(255,255,255)">fun maxOf(a: Int, b: Int): Int { if (a > b) { return a } else { return b } } funmain(args: Array<String>) { println("max of 0 and 42 is ${maxOf(0, 42)}") }</span></span>使用for 循环 <spanstyle="color:rgb(204,51,204); background-color:rgb(255,255,255)">fun main(args: Array<String>) { val items = listOf("apple", "banana", "kiwi") for (item in items) { println(item) } }</span>while循环
fun testWhile() { var i = 0; while(i < 10) { print(" " + i) i++ } } when表达式fun cases(obj : Any){ when(obj) { 1 -> print("One") "Hello" -> print("Greeting") is Long -> print("Long") !is String -> print("Not a string") else -> print("Unknown") }} 字符串模板在Java中拼接字符串的代码可读性都很差,在Kotlin字符串拼接变得非常简洁,只需用$后面加上参数名,复杂的参数要加上{}val user = User()user.name = "tutu"user.age = "23"val name = user.nameval age = user.agevar userInfo = "name:${user.name}, age:$ageranges的使用捡查索引是否越界fun checkIndex(index: Int, arr: Array<Int>) { if(index in 0..arr.lastIndex) println("index in bounds") else println("index out of bounds") }遍历一个范围
for(i in 1..5) { println(i) }注意事项
内部类和参数默认为public,而在Java中为private类默认为不可继承(final),想要可被继承要声明为open或abstract取消了static关键字,静态方法和参数统一写在companion object块internal模块内可见,inner内部类相关文章推荐
- Kotlin从入门到放弃之准备篇——基本语法
- kotlin基本语法--kotlin官网文档学习
- [置顶] Kotlin 语言基本语法的使用
- kotlin 基本语法(三)
- kotlin学习-基本语法(二)
- Kotlin 基本语法
- Kotlin 基本语法实例详解
- Kotlin——程序的灵魂组成之Lambda表达式、匿名函数、高阶函数的基本语法(二)
- Kotlin开篇之基本语法
- Kotlin基本语法
- kotlin 学习记录 基本语法(1)
- Kotlin~基本语法
- Kotlin Primer·第二章·基本语法
- Kotlin基本语法-类与集成
- Kotlin修行之路——基本语法
- Android开发,Kotlin的了解与学习(五)-----基本语法之集合相关
- Kotlin基本语法(一)
- kotlin学习--基本语法
- Kotlin 开发Android :基本语法
- Kotlin基本语法