朱涛 · Kotlin 编程第一课
朱涛
Google 认证的 Kotlin、Android 开发者专家,博客“Kotlin Jetpack 实战”作者
6717 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 50 讲
朱涛 · Kotlin 编程第一课
15
15
1.0x
00:00/00:00
登录|注册

01 | Kotlin基础语法:正式开启学习之旅

你好,我是朱涛。从今天开始,我们就正式踏上 Kotlin 语言学习与实践的旅途了。这节课,我想先带你来学习下 Kotlin 的基础语法,包括变量、基础类型、函数和流程控制。这些基础语法是程序最基本的元素。
不过,如果你有使用 Java 的经验,可能会觉得今天的内容有点多余,毕竟 Kotlin 和 Java 的基础语法是比较相似的,它们都是基于 JVM 的语言。但其实不然,Kotlin 作为一门新的语言,它包含了许多新的特性,由此也决定着 Kotlin 的代码风格。如果你不够了解 Kotlin 的这些新特性,你会发现自己只是换了种方式在写 Java 而已。
并且,在具备 Java 语言的知识基础上,这节课的内容也可以帮你快速将已有的经验迁移过来。这样的话,针对相似的语法,你可以直接建立 Kotlin 与 Java 的对应关系,进而加深理解。当然,即使你没有其他编程经验也没关系,从头学即可,Kotlin 的语法足够简洁,也非常适合作为第一门计算机语言来学习。
在课程中,我会用最通俗易懂的语言,来给你解释 Kotlin 的基础知识,并且会结合一些 Java 和 Kotlin 的代码案例,来帮助你直观地体会两种语言的异同点。而针对新的语法,我也会详细解释它存在的意义,以及都填补了 Java 的哪些短板,让你可以对 Kotlin 新语法的使用场景做到心中基本有数。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Kotlin语法深入解析:探寻Kotlin与Java的异同 Kotlin语言作为一种新兴的编程语言,与Java有着相似之处,但也融入了许多新特性。本文深入介绍了Kotlin的基础语法和特性,包括变量声明、基础类型、函数的声明和调用方式,以及流程控制中的if、when、while和for语句。特别强调了Kotlin的命名参数、参数默认值和Elvis表达式等特性,以及Kotlin中for语句用于迭代数组和区间的灵活应用。文章还指出了Kotlin相对于Java的改进之处,如支持类型推导、代码末尾不需要分号、字符串模板、原始字符串、单一表达式函数、函数参数支持默认值等。此外,Kotlin在语言层面也做了很多改进,如强制区分“可为空变量类型”和“不可为空变量类型”、推崇不可变性(val)、基础类型不支持隐式类型转换等。这些特性使得Kotlin在简洁性、可读性和错误规避方面有着明显的优势。文章内容通俗易懂,适合作为Kotlin初学者的入门指南。通过本文的阅读,读者能够快速了解Kotlin语法的基础知识和与Java的异同之处,为进一步深入学习Kotlin编程打下良好基础。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《朱涛 · Kotlin 编程第一课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(33)

  • 最新
  • 精选
  • 郑峰
    虽然 Kotlin 在语法层面摒弃了“原始类型”,但有时候为了性能考虑,我们确实需要用“原始类型”? 使用非空“原始类型”,编译器会自动编译成Java的原始类型。

    作者回复: 赞~

    2022-01-10
    5
    17
  • PoPlus
    可以补充下 Unit、Any、Nothing 这三个数据类型的区别吗?

    作者回复: 记下了。 大家还有哪些比较关心的问题,都可以提出来,我找时间给你们加餐。

    2021-12-29
    2
    15
  • 陳乔陳先森
    关于 Elvis 表达式 ?: , Elvis Presley 埃尔维斯·普雷斯利 又名 : 猫王, 把 ?: 顺时针旋转 90 度,像不像猫王标志性的头发? 哈哈 QAQ~

    作者回复: 确实如此哈。

    2022-01-09
    4
    7
  • 衣知世 与 计知白
    kotlin 中提供了一个叫做内联类的 inline关键字,Kotlin 编译器为每个内联类保留一个包装器。内联类的实例可以在运行时表示为包装器或者基础类型。

    作者回复: 嗯,这是Kotlin的另一个优势。

    2022-01-04
    6
  • 魏全运
    循环那里可以补充下类似java 的break和continue关键字么?kotlin想要实现break还挺麻烦的

    作者回复: 记下了,有机会在后面的内容中介绍一下。

    2022-01-05
    3
    4
  • Geek_e75e71
    val number = 1.234D , Double 类型 后缀D编辑器报错呀?

    作者回复: 你说得对,由于Kotlin会默认将小数识别为Double,所以D这个后缀其实是没有存在意义的。比如: ``` val a = 1.0 // 整数加上小数点即可 val b = 13.14 // 小数正常写即可 ``` 感谢指出了这个问题。

    2022-02-17
    3
  • zerofield
    编译器根据代码编译时,发现不需要使用包装类型就优化为原始类型

    作者回复: 赞~

    2022-01-05
    3
  • $Kotlin
    语法和Swift很像,讲的也很通熟易懂,学起来很舒服,催更催更,迫不及待想继续学习了。

    作者回复: 是的,学了Kotlin以后,我看Python、JS、Swift都会觉得亲切。

    2021-12-28
    3
  • 我有一条鱼
    求问for 循环为什么6..0是不可以的?

    作者回复: 因为Kotlin当中的“区间”只能是:右边大于等于左边。如果你写出下面的代码,它是无法正常工作的: ``` fun main() { for (i in 6..0) { println(i) // 无法执行 } } ```

    2022-03-15
    2
    2
  • Enoch
    比起自己找资料学习 系统了很多

    作者回复: 加油~

    2022-01-05
    2
收起评论
显示
设置
留言
33
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部