• 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 <标识符> : <类型> = <初始化值>
    1. var m: Int=30
    2. var flag:Boolean=true
    3. val value1 : Int=200
    4. val value2: Double=30.5

    备注: java和kotlin变量的区别

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

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

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

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

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

    1. package com.example.kotlin
    2. class PersonTest(val name:String) {
    3. fun greet(){
    4. println("Hi,$name")
    5. }
    6. var m: Int=30
    7. var flag:Boolean=true
    8. val value1 : Int=200
    9. val value2: Double=30.5
    10. }
    11. fun main(args:Array<String>){
    12. PersonTest("kotlin!").greet()
    13. }

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

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

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

    1. fun sum(a:Int,b:Int):Int{
    2. return a+b
    3. }
    4. fun getName():String{
    5. return "jon"
    6. }
    7. fun vars(vararg values:Int){
    8. for (value in values){
    9. println(value)
    10. }
    11. }

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

    1. 单行注释
    2. // 这是一个单行注释
    3. 块注释
    4. /* Hi kotlin */

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

    1. val i=100
    2. val j="i=$i" //相当于"i=100"
    3. println(j)
    4. val k="1234"
    5. var str="$k length is ${k.length}" //使用字符串获取k的长度
    6. println(str)

    六.数组

    1. //使用函数arrayOf()
    2. val arr1= arrayOf(1,2,3,'a',4)
    3. println(arr1[3])
    4. arr1[2]='b'
    5. println(arr1[2])
    6. var arr2=Array(5,{i->(i*i).toString()})
    7. println(arr2[3])
    8. //使用IntArray数组,省去了装箱操作,因此效率更高,其用法同Array一样,另外也可以定义ByteArray, ShortArray和IntArray定义类似
    9. var arr3:IntArray= intArrayOf(2,4,6,8,10)
    10. println("arr3[2]="+arr3[2])

  • 相关阅读:
    Elucidating the Design Space of Diffusion-Based Generative Models 阅读笔记
    Java如何从字符串中提取数字
    Zookeeper集群 + Kafka集群
    自然语言处理nlp小姜机器人(闲聊) nlp_xiaojiang-996station GitHub鉴赏官
    ExcelBDD PHP Guideline
    C++虚函数重载与虚表
    HttpServletResponse HttpServletRequest
    Vscode远程调试
    Python 实验四 面向对象程序设计
    补码符号位的权重
  • 原文地址:https://blog.csdn.net/j086924/article/details/125483329