如何学习kotlin?Kotlin基础知识快速入门

一 概述Android 1.5系统中Google 引入了NDK功能,支持使用C和C++语言来进行一些本地化开发。17年官宣kotlin为安卓一级开发语言;所以对于安卓开发者,学习kotlin是必须的,这是java最好的第三方库(富语法糖java)。kotlin将代码编译成同样规格的class文件让Java虚拟机识别,它继承了Java的全部财富,和Java100%兼容的,可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库;Kotlin的类型推断也在Java 8 中被推出,Lamb
摘要由CSDN通过智能技术生成

一 概述

Android 1.5系统中Google 引入了NDK功能,支持使用C和C++语言来进行一些本地化开发。

17年官宣kotlin为安卓一级开发语言;所以对于安卓开发者,学习kotlin是必须的,这是java最好的第三方库(富语法糖java)。

kotlin将代码编译成同样规格的class文件让Java虚拟机识别,它继承了Java的全部财富,和Java100%兼容的,可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库;Kotlin的类型推断也在Java 8 中被推出,Lambda作为函数式编程的基础也在Java 8版本中加入,两者会越来越像。

Kotlin是函数式编程语言(注1:),Kotlin的语法非常像Scala,python,借鉴了很多语言,学了很多语言发现他们越来越像,就像C#之父Anders Hejlsberg说的:未来的编程语言将逐渐融合各自的特性,而不会只存在单纯的声明式语言或者函数编程语言。

对比Java的一些优势:

与作为命令式语言时代的产物:Java相比,Kotlin对内联函数的支持,使它运行Lambda表达式更快;
提前到编译期的空指针安全检测;

Kotlin有很多现代静态编程语言的特点:类型推断、多范式支持、可空性表达、扩展函数、DSL支持等。这些功能Java也陆续在加入。(2021.5.5注:该句有歧义,Koltlin本身就是静态语言,不要误以为其为动态语言)

二 基本类型

Kotlin完全抛弃了Java中的基本数据类型,全部使用了对象数据类型,在 Kotlin 中,所有东西都是对象;

2.1 数字

基本Kotlin数值类型包括:Byte、Short、Int、Long、Float、Double等。与Java不同的是,Kotlin中的Charactor不属于数值类型。
Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同。

所有以未超出 Int 最大值的整型值初始化的变量都会推断为 Int 类型。如果初始值超过了其最大值,那么推断为 Long 类型。 如需显式指定 Long 型值,请在该值后追加 L 后缀。

val one = 1 // Int
val threeBillion = 3000000000 // Long
val oneLong = 1L // Long
val oneByte: Byte = 1

对于浮点数,Kotlin 提供了 Float 与 Double 类型。
类型大小(比特数)有效数字比特数指数比特数十进制位数Float322486-7Double64531115-16
对于以小数初始化的变量,编译器会推断为 Double 类型。 如需将一个值显式指定为 Float 类型,请添加 f 或 F 后缀。 如果这样的值包含多于 6~7 位十进制数,那么会将其舍入。

val pi = 3.14 // Double
val e = 2.7182818284 // Double
val eFloat = 2.7182818284f // Float,实际值为 2.7182817

请注意,与一些其他语言不同,Kotlin 中的数字没有隐式拓宽转换。 例如,具有 Double 参数的函数只能对 Double 值调用,而不能对 Float、 I

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值