笔记:学习Kotlin——数据类型和运算符

Kotlin是一个面向对象的编程语言,它和Java有个地方不一样,没有基本数据类型,比如int,char,byte等。所有的基础类型在Kotlin中都是对象,比如Int,Char,Byte等。

对于数组类型,Kotlin也有一些不同,在Java中byte[],int[]等基本类型的数组在Kotlin有其对应的类,如ByteArray,IntArray。对于Java中引用类型的数组如IamClassA[],String[]等,在Kotlin中使用Array<IamClassA>和Array<String>替代。

在Kotlin中,用Any代表Object。

Kotlin中,方法也可以作为一种数据类型(作为方法参数),下面举个例子:

由于开发Android的原因,我本人对函数式编程了解的并不多,Lambda和高阶函数也是一知半解的状态(Java8支持这些,但是Android只支持到Java7的语法,实际上最终还会编译为Java6的字节码)。

上述代码示范了高阶函数,可以将方法作为参数使用。在某些情况下使用这个可以完成常规函数无法完成的任务,不过由于我初学到此,还没有完全参透。


下面我们来看Kotlin中的运算符,我这里说明一下和Java中不太一样的地方。

Kotlin没有<<, >>, >>>, &, |, ~, ^等运算符,需要使用函数代替:shl, shr, ushr, and, or, inv, xor代替。用法举例如下:

另外有一点,Kotlin不对隐式数据类型转换提供支持(但是支持数据类型推导),举个例子:

上述代码,声明a,b变量并且初始化值,不需要指定数据类型,Kotlin根据赋值类型自动推导a为Int,b为Long。

但是呢,and运算时,Kotlin不支持Int and Long,他不会智能的向上转换a为Long,必须手动调用toLong()将a转换为Long类型才可以。

说到这里,不得不说Kotlin的各种方法,一些基础数据类型也拥有大量操作方法,方便了做各种数据操作。

本次内容不多,下次再继续!~

You may also like...

2 Responses

  1. IthilQuessir说道:

    什么时候学起来这个了

发表评论

电子邮件地址不会被公开。 必填项已用*标注