美文网首页
Kotlin数据类型和语法

Kotlin数据类型和语法

作者: IT小魔女的故事 | 来源:发表于2017-10-30 23:29 被阅读0次

数值类型

类型 位宽
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

主要是以下几种字面值常量:

十进制数:123
长整型要加L:123L
十六进制数:0x0f
二进制数:0b00001011
Kotlin不支持八进制数
双精度浮点数(Double):123.5 、 123.5e10
单精度浮点数(Float)要加f或F:123.5f

布尔值
关键字Boolean,只有true和false两种取值,和Java一样可以使用&&、||、!进行与或非操作。
字符
关键字Char,和Java中char基本用法差别不大。
var useChar: Char = 'c'
数组
关键字Array,Kotlin中数组的使用和Java差别挺大,比如我要创建数组,就得使用arrayOf
//使用arrayOf简单创建数组var students: Array<String> = arrayOf("One", "Tow", "Three")var studentNums = arrayOf(1, 2, 3)

使用arrayOfNulls可以创建一个指定长度,元素内容为空的数组
//创一个长度为10,元素内容皆为null的数组var emptyArray = arrayOfNulls<String>(10)

Kotlin对一些基础类型定义数组会有拆装箱的开销,所以也可以使用自身封装好的一些API进行创建数组,以降低开销
//创建一个int数组,避免封箱装箱操作var intArray = intArrayOf(1, 2, 3)

Kotlin数组还支持使用闭包进行初始化,就像下面这样
//使用闭包初始化一个Array<String>,数组内容为["0", "1", "4", "9", "16"]var asc = Array(5, { i -> (i * i).toString() })

字符串
关键字String,用法和Java差别不大。字符串是不可变的。
字符串的元素——字符可以使用索引运算符访问: s[i]
。 可以用 for 循环迭代字符串:

复制代码
var useString: String = "I am a boy"var firstChar: Char = useString[0] //相当于Java的String.charAt(0)
for (c in useString) { println(c)//遍历} 复制代码

定义变量
Kotlin的变量分为可变和不可变,和Java中是否对变量声明final一样,它定义一个变量的语法如下:
格式: 可变类型 变量名:数据类型
可变类型分为var、val两种,分别代表可变、不可变;
数据类型包括Kotlin内置的数据类型以及自定义类deng ;
定义变量时需要明确数据类型;

var,val可以简单理解为:
var
是可写的,在它生命周期中可以被多次赋值;
而 val
是只读的,仅能一次赋值,后面就不能被重新赋值。

/***Kotlin版代码***/
//定义可变变量
var id: Int = 1 //var name: String = "字符串"
//定义不可变变量
val useVal: Int = 1000

/***Java版代码***/
int id = 1;
String name = "字符串";
final int useFinal = 1000;

Kotlin支持类型推到的,在Kotlin中大部分情况你不需要说明你使用对象的类型,编译器可以直接推断出它的类型。

val str = "abc"
        println(str)
        println(str is String)
        println(str::class)
        println(str::class.java)

//        abc
//        true
//        class java.lang.String (Kotlin reflection is not available)
//        class java.lang.String

        val d = Date()
        println(d)
        println(d is Date)
        println(d::class)
        println(d::class.java)

//        Fri Jun 09 00:06:33 CST 2017
//        true
//        class java.util.Date (Kotlin reflection is not available)
//        class java.util.Date

        val bool = true
        println(bool)
        println(bool::class)
        println(bool::class.java)

//        true
//        boolean (Kotlin reflection is not available)
//        boolean

        val array = arrayOf(1,2,3)
        println(array)
        println(array is Array)
        println(array::class)
        println(array::class.java)

//        [Ljava.lang.Integer;@7b5eadd8
//        true
//        class [Ljava.lang.Integer; (Kotlin reflection is not available)
//        class [Ljava.lang.Integer;

相关文章

  • Kotlin 实战语法(四)

    Kotlin Kotlin 实战语法(四) 上一次大家学会了Kotlin的基本数据类型 Kotlin 基本数据类型...

  • Kotlin 基础学习笔记

    Kotlin 基础教程 Kotlin 文件以 .kt 为后缀 一、基本语法 二、数据类型 Kotlin 的基本数值...

  • Kotlin 从0到1

    项目地址 Kotlin 基本语法、简单函数、基本数据类型 Kotlin 类0 - 类的简单使用 Kotlin 类1...

  • Kotlin学习笔记

    学习网站 Kotlin从入门到放弃 Kotlin菜鸟教程 基本语法 1、数据类型 1.1、基本数据类型 每一个类型...

  • Kotlin数据类型和语法

    数值类型 类型 位宽Double 64Float 32Long 64Int ...

  • Kotlin------数据类型和语法

    今天简单的来介绍Kotlin的基本语法。编程语言大多相通的,会基础学起来都很快,理论都一样,实现的代码语言不一样而...

  • Kotlin小知识

    Kotlin小知识 Kotlin 和 java 语法的区别

  • Kotlin中类、接口(三)

    上次提到了Kotlin中的数据类型、语法结构、表达式及方法函数的相关点,今天继续对比java与Kotlin中...

  • Kotlin 基本语法、简单函数、基本数据类型

    Kotlin 基本语法、简单函数、基本数据类型 1. 语法 1. 不需要使用分号作为语句结束,直接 enter 就...

  • Kotlin | 6.Kotlin 的类型系统

    本章内容包括: 处理 null 的可空类型和语法基本数据类型和它们对应的Java类型Kotlin 的集合,以及它们...

网友评论

      本文标题:Kotlin数据类型和语法

      本文链接:https://www.haomeiwen.com/subject/dyxtuxtx.html