kotlin------数据类型和语法

切切歆语 切切歆语     2022-09-17     443

关键词:

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

数值类型

Kotlin 处理数值的方法和 java 很相似,但不是完全一样。比如,不存在隐式转换数值的精度,并且在字面上有一些小小的不同。

Kotlin的数值类型包括

类型位宽
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语法入门篇章(代码片段)

Java和Kotlin数据类型对比表Java基本数据类型Kotlin对象数据类型数据类型说明intInt整形longLong长整型shortShort短整形floaFloat单精度浮点型doubleDouble双精度浮点型booleanBoolean布尔型charChar字符型byteByte字节型 点击右侧绿色按钮运行函... 查看详情

kotlin基础语法(代码片段)

一.Kotlin基本数据类型1.Kotlin的基本数值类型包括Byte、Short、Int、Long、Float、Double等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型,eg:如下表类型位宽度占用字节数Double648Float324Long648Int324Short162Byte81数据类... 查看详情

kotlin基础语法(代码片段)

一.Kotlin基本数据类型1.Kotlin的基本数值类型包括Byte、Short、Int、Long、Float、Double等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型,eg:如下表类型位宽度占用字节数Double648Float324Long648Int324Short162Byte81数据类... 查看详情

kotlin基础语法(代码片段)

一.Kotlin基本数据类型1.Kotlin的基本数值类型包括Byte、Short、Int、Long、Float、Double等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型,eg:如下表类型位宽度占用字节数Double648Float324Long648Int324Short162Byte81数据类... 查看详情

浅谈kotlin:基本类型基本语法代码风格

浅谈Kotlin(一):简介及AndroidStudio中配置 通过上面的文章,在AndroidStudio中我们已经可以进行Kotlin编程了,接下来开始学习Kotlin的基本类型及语法。 一、基本类型  在Kotlin中,所有变量的成员方法和属性都是一个对象... 查看详情

kotlin语法学习(代码片段)

Kotlin语法学习(一)变量和函数变量在Kotlin中定义变量的方式和java有很大的区别,在java中有很多的基本类型和一些引用类型,但是在Kotlin中定义一个变量只允许在变量前面声明两个关键字:val和varval(value的简写)用来声明一个不可变的... 查看详情

kotlin语法入门篇章(代码片段)

Java和Kotlin数据类型对比表Java基本数据类型Kotlin对象数据类型数据类型说明intInt整形longLong长整型shortShort短整形floaFloat单精度浮点型doubleDouble双精度浮点型booleanBoolean布尔型charChar字符型byteByte字节型 点击右侧绿色按钮运行函... 查看详情

kotlin和java区别

参考技术AKotlin是JetBrains开发的基于JVM的语言;而Java是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。Kotlin是对Java的一种改进,语法差异:Kotlin中的方法和属性可以不包含在类中;Java中的一切是以class为基础的,... 查看详情

kotlin基础数据类型:var和val

数据类型:var和val->返回总目录<-Kotlin与Java的基本数据类型对比基本数据类型名称Kotlin的数据类型Java的数据类型整型Intint和Integer长整型Longlong和Long浮点型Floatfloat和Float双精度Doubledouble和Double布尔型Booleanboolean和Boolean字符型Ch... 查看详情

kotlin语法学习(代码片段)

文章目录Kotlin语法学习(二)面向对象编程类和对象继承和构造函数接口访问修饰符数据类和单例Kotlin语法学习(二)面向对象编程类和对象创建一个Person类openclassPerson/***姓名*/varname=""/***年龄*/varage=0/***人的吃饭方法*/fune... 查看详情

kotlin系列之基本类型(代码片段)

今天一起来看看kotlin中的基本类型,包括基本的数据类型和其他一些特殊的与Java不同的类型。基本数据类型在Java中数据类型被分为基本数据类型和引用数据类型。在kotlin中所有的数据类型都是引用数据类型。与Java中的数据... 查看详情

kotlin属性和字段与基本语法

Kotlin属性和字段与基本语法Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串... 查看详情

kotlin学习笔记

最近开始学习Kotlin语言了,打算搞个笔记系列,这是首篇~基本类型varage:Int=123//标准语法,声明一个可变变量agevalname:String="Tom"//标准语法,声明一个不可变变量name(不可变变量不是常量)valsex:String?=null//声明一个可为空的字符串变... 查看详情

android:kotlin详细入门学习指南-类和对象(上)-基础语法(代码片段)

本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Android:Kotlin详细入门学习指南-类和对象-基础语法(四)建议先看看前面的文章Android:Kotlin详细入门学习指南-基础语法(一)Android:Kotlin详细入门学习... 查看详情

android:kotlin详细入门学习指南-类和对象(下)-基础语法(代码片段)

本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Android:Kotlin详细入门学习指南-类和对象(下)-基础语法(五)建议先看看前面的文章Android:Kotlin详细入门学习指南-基础语法(一)Android:Kotlin详细入门学... 查看详情

kotlin语法糖(代码片段)

1、变量声明不推荐使用lateinit和!!(容易空指针)//goodvartv:TextView?=nulltv?.text=""//badlateinitvartv:TextViewtv!!.text=""2、可空参数与返回+类型转换//可空参数与返回funinit(name:String?,age:I 查看详情

kotlin基础语法

1.包定义package packagemy.demo2.方法定义fun funsum(a:Int,b:Int):Int{//定义方法的关键字fun;方法名sum;变量名a,类型Int;变量名b,类型Int;返回值类型Int returna+b   } funsum(a:Int,b:Int)=a+b //方法体是一个表达式时,返回值类型可自动... 查看详情

kotlin入门到精通(实战)基本类型和访问修饰符详解

<<<返回总目录本章目录Kotlin数据类型1.如果变量可以为null2.如果作为泛型参数3.如何声明基本类型数组4.Kotlin数据类型为什么不共用Java那一套Kotlin访问修饰符1.internal修饰符2.protected修饰符在Kotlin和Java中的异同点1)protected修... 查看详情