21. Kotlin学习笔记 (一) 基本语法

简介:

Eclipse下安装:  eclipse安装kotlin

如果用Help->Eclipse marketplace安装不成功的话,可以用Help->Install new software

Android studio只要安装3.0版本就可以: Android studio下载

kotlin github源代码


kotlin官网和在线执行代码


个人觉得学习kotlin语法的话,用eclipse可能比较方便点,直接写直接运行。


1. package

1
2
package  my.demo
import  java.util.*


2. 函数定义

fun函数有两个Int参数和一个Int返回值

1
2
3
fun sum(a: Int, b: Int): Int{
     return  a + b
}

函数表达式和返回值

1
fun sum(a:Int, b: Int) = a + b

Unit 函数无返回值

1
2
3
fun sum(a: Int, b: Int):Unit {
     println( "a: ${a} , b: ${b}" )
}

无返回值函数

1
2
3
fun sum1(a: Int, b: Int){
     println( "aa: ${a}, bb: ${b}" )
}


3. 局部变量

不可变局部变量(val)

1
2
val a: Int =  1   // immediate assignment
val b =  2    // `Int` type is inferred

可变局部变量

1
2
var x =  5
x +=  1


4. 注释

// 和 /**/


5. String 模板

1
2
3
4
5
var a =  1
val s1 =  "a is ${a}"
 
a =  2
val s2 =  "${s1.replace(" is ", " was ")}, but now is ${a}"


6. 条件表达式

1
2
3
4
5
6
7
fun maxOf(a: Int, b: Int): Int{
     if (a > b) {
         return  a
     } else  {
         return  b
     }
}


使用if表达式

1
fun maxOf(a:Int, b: Int) =  if (a > b) a  else  b


7. 使用可为null的值和null检查

一个引用必须被明确标记为可能为null

1
2
3
4
fun maxOf(a:Int, b: Int): Int? {
     println( "a: ${a}" )
     return  null
}


8. 类型检查和动态转换

1
2
3
4
5
6
7
fun getStringLength(obj: Any): Int? {
     if  (obj is String) {
         return  obj.length
     }
     
     return  null
}


9. 循环

1
2
3
4
5
6
7
8
9
10
11
12
13
val items = listOf( "a" "b" "c" "e" )
     
for (zz in items) {
     println(zz)
}  
 
//或者
val items = listOf( "a" "b" "c" "e" "f" )
     
     for (idx in items.indices) {
         println(items.get(idx))
         println( "value: ${items[idx]}" )
     }


10. while 循环

1
2
3
4
5
6
7
8
val items = listOf( "a" "b" "c" "e" "f" )
     
var ind =  0
     
while (ind < items.size) {
     println( "value: ${items[ind]}" )
     ind ++;
}


11. when 表达式

1
2
3
4
5
6
fun descrbe(obj: Any): String =
when (obj) {
     1  ->  "one"
     "Hello"  ->  "greeting"
     else  ->  "else default"
}


12. 范围

检查一个数字是否在一个范围时可以使用in

1
2
3
4
5
6
7
8
val x =  10
val y =  8
     
if (x in  1 .. y+ 1 ) {
     println( "x in..." )
} else  {
     println( "not in" )
}

检查一个数字不在一个范围

1
2
3
4
5
if  (x !in  1 ..y+ 1 ) {
     println( "b not in " )
} else  {
     println( "b x in" )
}

迭代一个范围

1
2
3
for (x in  1 .. 5 ) {
     println(x)
}

级数遍历一个范围

1
2
3
for (x in  1 .. 5  step  2 ) {
     println(x)
}


13. 使用集合

遍历

1
2
3
4
var lists = listOf( "a" "b" "c" )
     for (ele in lists){
     println(ele)
}


使用in检查某个元素是否在某个集合

1
2
3
4
when {
     "a"  in lists -> println( "a in list" )
     "b"  in lists -> println( "b in list" )
}


使用lambda语法过滤集合

1
2
3
4
5
6
var lists = listOf( "acake" "apple" "orange" )
     
     lists.filter { x->x.startsWith( "a" ) }
     .sortedBy { it }
     .map { x->x.toUpperCase() }
     .forEach{println(it)}




     本文转自rongwei84n 51CTO博客,原文链接:http://blog.51cto.com/483181/1931412,如需转载请自行联系原作者



相关文章
|
3月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
60 1
|
3月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
44 2
|
3月前
|
IDE 开发工具 数据安全/隐私保护
Kotlin语法 - 类成员
本教程详细讲解Kotlin语法,适合深入学习。若需快速掌握,推荐“简洁”系列教程。内容涵盖类成员、函数与方法、属性访问控制及初始化等。类成员包括方法和属性,函数独立于类,属性访问通过getter/setter实现,支持延迟初始化。
46 3
|
3月前
|
数据安全/隐私保护 Kotlin
Kotlin语法 - 类成员
Kotlin语法 - 类成员
|
3月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
57 1
|
3月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
37 1
|
3月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
46 2
|
3月前
|
IDE 开发工具 开发者
Kotlin语法 - 函数与Lambda表达式
本教程详细讲解了Kotlin中的函数与Lambda表达式,包括函数的基本定义、默认返回值类型、匿名函数、Lambda表达式的定义及简化、Lambda与函数引用的结合使用,以及如何在Lambda中实现循环控制。适合希望深入了解Kotlin语法的开发者。
57 1
|
3月前
|
人工智能 Scala Kotlin
Kotlin语法 - 运算符与中缀表达式
Kotlin语法 - 运算符与中缀表达式
|
3月前
|
JavaScript Java Kotlin
Kotlin语法 - 常量与变量
Kotlin语法 - 常量与变量

热门文章

最新文章