栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kotlin基础语法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kotlin基础语法

一.Kotlin 基本数据类型

1.Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型,eg:如下表

类型位宽度占用字节数
Double648
Float324
Long648
Int324
Short162
Byte81

数据类型转换方式,eg:

toByte(): 转换到Byte类型
toShort(): 转换到Short类型
toInt(): 转换到Int类型
toLong(): 转换到Long类型
toFloat(): 转换到Float类型
toDouble(): 转换到Double类型
toChar(): 转换到Char类型

2.定义一些常量和变量的

1).可变变量定义:var 关键字

var <标识符> : <类型> = <初始化值>

2).不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

val <标识符> : <类型> = <初始化值>
    var m: Int=30
    var flag:Boolean=true
    val value1 : Int=200
    val value2: Double=30.5

备注: java和kotlin变量的区别

1'.位置不同,kotlin中数据类型放到变量的后面,并用冒号(:)分隔,与java相反

2'.关键不同,kotlin中定义变量用var开头,定义常量用val开头

3'.数字类型首字母大小写不同,kotlin中数据类型都以大写字母开头,java中只有类、接口等复杂的数据类型的名字才采用首字母大写的方式

4'.kotlin中常量与变量都可以没有初始化值,但是在引用前必须初始化,编译器支持自动类型判断,即声明时可以不指定类型,由编译器判断

二.包声明,和java一样,代码文件的开头一般为包的声明,且Kotlin 文件以 .kt 为后缀,eg:

package com.example.kotlin

class PersonTest(val name:String) {
    fun greet(){
        println("Hi,$name")
    }

    var m: Int=30
    var flag:Boolean=true
    val value1 : Int=200
    val value2: Double=30.5
}

fun main(args:Array){
    PersonTest("kotlin!").greet()
}

如果没有指定包,默认为 default 包,有多个包会默认导入到每个 Kotlin 文件中:

kotlin.*
kotlin.annotation.*
kotlin.collections.*
kotlin.comparisons.*
kotlin.io.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*

三.函数定义, 函数定义使用关键字 fun,参数格式为:参数 : 类型,其中函数的变长参数可以用 vararg 关键字进行标识,eg:

fun sum(a:Int,b:Int):Int{
    return a+b
}

fun getName():String{
    return "jon"
}

fun vars(vararg values:Int){
    for (value in values){
        println(value)
    }
}

四.注释方式,支持单行注释和块注释

单行注释
// 这是一个单行注释

块注释

五.字符串模板,模板使用美元符号($)开头,eg:"i=$i“中的$i就是一个占位符,其中$后面的i是变量,随着i变化,eg:

 val i=100
    val j="i=$i" //相当于"i=100"
    println(j)

    val k="1234"
    var str="$k length is ${k.length}" //使用字符串获取k的长度
    println(str)

六.数组

  //使用函数arrayOf()
    val arr1= arrayOf(1,2,3,'a',4)
    println(arr1[3])
    arr1[2]='b'
    println(arr1[2])

    var arr2=Array(5,{i->(i*i).toString()})
    println(arr2[3])

    //使用IntArray数组,省去了装箱操作,因此效率更高,其用法同Array一样,另外也可以定义ByteArray, ShortArray和IntArray定义类似
    var arr3:IntArray= intArrayOf(2,4,6,8,10)
    println("arr3[2]="+arr3[2])

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号