Kotlin基本语法
来源:互联网 发布:程序员办公室图 编辑:程序博客网 时间:2024/06/04 03:53
Kotlin的前世今生
甲骨文因java侵权起诉谷歌,老大哥谷歌怎会受得了这窝囊气,于是谷歌就想必须得有自己的开发语言,于是在今年的谷歌大会上,谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。这一次人们坐不住了啊,谷歌爸爸有自己官方语言,
未来的kotlin会不会成为主流,我们是不是应该学习kotlin呢?
Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。
知道了Kotlin那么就让来了解一下Kotlin的基本语法吧
定义局部变量
赋值一次局部变量
fun main(args: Array){
val a: Int = 1
val b = 2
val c: Int
c = 3
println(“a =
}
可变的变量
fun main(args: Array){
var x = 5
x += 1
println(“x = $x”)
}
定义函数使用fun关键字
fun sum (a : Int, b : Int) : Int {
return a*b;
}
函数add有两个Int型的参数,冒号后跟的是函数的返回值,一条代码语句的末尾不用加分号
注释
像 Java 和 JavaScript 一样,Kotlin 支持行注释和块注释。
// 这是行注释
/* 这是
块注释 */
和 Java 不同的是,Kotlin 块注释可以嵌套
使用条件表达式
fun maxOf(a: Int, b: Int): Int {
if (a > b) {
return a
} else {
return b
}
}
fun main(args: Array) {
println(“max of 0 and 42 is ${maxOf(0, 42)}”)
}
使用 for 循环
fun main(args: Array) {
val items = listOf(“apple”, “banana”, “kiwi”)
for (item in items)
{
println(item)
}
}
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字符串拼接变得非常简洁,只需用
ranges的使用
捡查索引是否越界
fun checkIndex(index: Int, arr: Array) {
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~基本语法
- KOtlin 基本语法
- kotlin---基本语法
- Kotlin基本语法
- Kotlin 基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- HDU1151 (10/600)
- extjs 布局 -列布局 column
- 添加基本组件
- 在pycharm2017 上实现python3.6与mysql数据库的连接
- javascript 原型方法,对象方法,类方法;私有属性,公有属性,公有静态属性
- Kotlin基本语法
- 背包系统的完善(一) 背包系统的分割和实现
- bzoj 1913 signaling 信号覆盖 (极角排序 组合数)
- const的用法及部分面试题解析
- JAndFix: 基于Java实现的Android实时热修复方案
- 延迟绑定
- 内核态(内核空间)和用户态(用户空间)的区别和联系
- VS Code配置Matlab环境
- java中接口类似c++中纯虚函数