Eclipse下安装:  eclipse安装kotlin

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

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

kotlin github源代码

kotlin官网和在线执行代码

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

1. package

package my.demo
import java.util.*

2. 函数定义

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

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

函数表达式和返回值

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

Unit 函数无返回值

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

无返回值函数

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

3. 局部变量

不可变局部变量(val)

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

可变局部变量

var x = 5
x += 1

4. 注释

// 和 /**/

5. String 模板

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

6. 条件表达式

fun maxOf(a: Int, b: Int): Int{if(a > b) {return a}else {return b}
}

使用if表达式

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

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

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

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

8. 类型检查和动态转换

fun getStringLength(obj: Any): Int? {if (obj is String) {return obj.length}return null
}

9. 循环

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 循环

val items = listOf("a", "b", "c", "e", "f")var ind = 0while(ind < items.size) {println("value: ${items[ind]}")ind ++;
}

11. when 表达式

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

12. 范围

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

val x = 10
val y = 8if(x in 1.. y+1) {println("x in...")
}else {println("not in")
}

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

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

迭代一个范围

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

级数遍历一个范围

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

13. 使用集合

遍历

var lists = listOf("a", "b", "c")for(ele in lists){println(ele)
}

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

when {"a" in lists -> println("a in list")"b" in lists -> println("b in list")
}

使用lambda语法过滤集合

var lists = listOf("acake", "apple", "orange")lists.filter { x->x.startsWith("a") }.sortedBy { it }.map { x->x.toUpperCase() }.forEach{println(it)}

转载于:https://blog.51cto.com/483181/1931412

21. Kotlin学习笔记 (一) 基本语法相关推荐

  1. Kotlin学习笔记(3)- 语法

    系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...

  2. Kotlin学习笔记(1)-- 基础语法

    文章目录 Kotlin学习笔记(1)-- 基础语法 输出 语法 代码 输出 可读可改(var) 语法 代码 输出 内置数据类型 只读变量(val) 类型推断 编译时常量 语法 代码 输出 引用类型 r ...

  3. Kotlin学习笔记20 阶段复习2

    参考链接 示例来自bilibili Kotlin语言深入解析 张龙老师的视频 lambda表达式 内联函数 Kotlin学习笔记 第三章 函数 高阶函数 lambda表达式 内联函数_积跬步 至千里- ...

  4. Kotlin 学习笔记(八)—— Kotlin类与对象之接口

    Kotlin 学习笔记(八)-- Kotlin类与对象之接口 Kotlin学习笔记系列教程 Kotlin 学习笔记(一)-- 概述.学习曲线.开发工具.参考资料 Kotlin 学习笔记(二)-- 基础 ...

  5. Kotlin学习笔记(2)- 空安全

    系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...

  6. Kotlin学习笔记(1)- 环境配置

    系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...

  7. Kotlin 学习笔记(七)—— Kotlin类与对象之属性与字段

    Kotlin 学习笔记(七)-- Kotlin类与对象之属性与字段 Kotlin学习笔记系列教程 Kotlin 学习笔记(一)-- 概述.学习曲线.开发工具.参考资料 Kotlin 学习笔记(二)-- ...

  8. Kotlin学习笔记12——数据类和密封类

    Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...

  9. Kotlin学习笔记1——变量、函数

    Kotlin学习笔记1 (学习教材为<第一行代码(第三版)>by郭霖) 1.Kotlin概述 ​ Java虚拟机不关心class文件的编译来源,即只要是符合规格的class文件,Java虚 ...

最新文章

  1. 如何手工删除AD RMS SCP?
  2. 《你不知道的JavaScript》整理(四)——原型
  3. 记一次小米前端面试题(一面)2020.10.28
  4. python修改静态html_Python 静态页面爬虫---urllib3库实现
  5. Qt工作笔记-Qt生成dll或so,并且调用(含Liunx端与Windows端)
  6. ubuntu16.04 64bit 安装 ida
  7. MOV指令在32位汇编程序和64位汇编程序下的相同与不同之处
  8. Trie树(c++实现)
  9. Tensflow学习笔记(一)——TF生成并查看数据
  10. js 获取当天时间,实现展示包含今天的一周时间的方法
  11. SpringCloud + RocketMQ实现最大努力通知型事务
  12. oracle alter system kill,ALTER SYSTEM KILL SESSION详解
  13. Visio画图如何保存高质量图片供论文使用
  14. 计算机查看正在运行的程序,win7系统查看当前正在运行程序状态的方法
  15. 【分布式缓存之Voldemort 介绍】
  16. 网络信息安全之安全风险管理
  17. jsp使用session出现The server encountered an unexpected condition that prevented it from fulfilling the r
  18. EXCEL 删除表格内的空格和空白字符
  19. 百度“算盘”logo引领国风来袭
  20. Linux 常用命令大全(虚拟机)

热门文章

  1. 【Python-2.7】多种方式删除列表元素
  2. 【数据仓库】数据仓库设计前如何粗估所需的存储空间大小?
  3. 异常来自 HRESULT:0x800A01A8
  4. iOS10 Safari不识别viewport禁用缩放的暴力解决方案
  5. 浏览器最小显示12px字体的解决方法
  6. react-native 编译出现 ld: library not found for -lDoubleConversion 错误的解决方案
  7. 在Objective-C中,如何测试对象类型?
  8. win11虚拟机如何安装 Windows11虚拟机安装步骤教程
  9. Git:撤销回滚操作
  10. 原生js的ajax的get怎么传参,原生js---ajax---get方法传数据