Kotlin基本语法
来源:互联网 发布:域名转码工具 编辑:程序博客网 时间:2024/06/08 17:17
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基本语法
- 使用一个ContentProvider操作多张表
- 单链表反转的两种实现(Java)
- Android--掌握日志工具的使用
- 名企笔试:网易游戏2016招聘笔试题(双核处理)
- python文件操作
- Kotlin基本语法
- Java中的编码问题:接收、转码、输出
- 动态网页开发知识点
- ssm ${}#{}区别
- Android UI和切图
- webpack---webpack中经典实用的插件copy-webpack-plugin拷贝资源插件
- 1.淘淘商城项目系列-第一天
- 利用FFmpeg玩转Android视频录制与压缩(三)
- 【Unity3d】Textmesh pro教程(一):介绍及制作Font Asset