【Android学习之路】Kotlin语言基础

Kotlin语法基础

前言 : Java语言与Kotlin语言有相似之处, 但也有很多不同之前, 本文主要关于Kotlin一些基础语法进行展开, 有Java经验的小伙伴可以看看有哪些不同之处.

以下面这个代码为例:

package com.example.mykotlincode

class Hello(val name:String) {
   
    fun halo(){
   
        println("Hello, $name")
    }
}

fun main(args:Array<String>){
   
    Hello("World").halo()
    //println()
}

请添加图片描述

  • 可以看出Kotlin 文件以 .kt 为后缀

  • 代码文件的开头一般为包(package)的声明

  • 导入包的关键字import

  • Kotlin每一行代码的结尾是不用加分号的,当然你加分号也不会报错, 但那是 Java 的写法,Kotlin的代码不需要分号

  • 代码注释

    • // 单行注释
      
      /*
      	块注释
      */
      

变量

Kotlin中定义一个变量,只允许在变量前声明两种关键字:valvar,两种变量都可以没有初始化值,但在引用前必须赋初值

  • val (全称value) : 用来声明一个不可变的变量,即一旦赋初始值就不可再二次赋值

  • var (全称variable) : 用来声明一个可变的变量, 即可多次进行赋值

  • 变量的类型声明放在变量名后, 比如声明一个整型变量 : var a:Int =1

fun main(){
   
    val num1:Int = 1
    var num2:Int = 2
    var sum:Int = num1 + num2
    println("总和为$sum")
}

永远优先使用val来声明一个变量,而当val没有办法满足你的需求时再改为使用var。这也是为了安全性, 避免了不经意间修改了某个变量的值, 导致未知的安全隐患。

NULL检查机制

Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理

  • 字段后加!! : 抛出空异常
  • 字段后加? : 返回值为null

对象数据类型

Kotlin相比Java来说, 抛弃了基本的数据类型,全部使用对象数据类型, 即数据类型的首字母要大写。Kotlin 中没有基础数据类型,只有封装的数字类型,每定义的一个变量,其实 Kotlin 帮你封装了一个对象,这样可以保证不会出现空指针。

对象数据类型 说明 位宽度
Int 整型 32bit
Long 长整型 64bit
Short 短整型 16bit
Float 单精度浮点型 32bit
Double 双精度浮点型 64bit
Boolean 布尔型
Char 字符型 16bit
Byte 字节型 8bit
String 字符串类型
  • Kotlin中===表示比较对象的地址, ==表示比较两个值的大小是否相等

    val a:Int = 333
    val c1:Int? = a
    val c2:Int? = a
    println(c1===c2) //对象不同
    println(c1==c2) //值相同
    

类型转换

由于不同的表示方式,较小的数据类型并不是较大数据类型的子类型,较小的数据类型不能隐式转换为较大的数据类型。 这意味着在不进行显式转换的情况下我们不能把 Byte 型值赋给一个 Int 变量

  • toByte() : 转换为Byte类型
  • toShort(): 转换为Short类型
  • toInt() : 转换为Int类型
  • toLong() :转换为Long类型
  • toFloat() : 转换为Float类型
  • toDouble() : 转换为Double类型
  • toChar() : 转换为Char类型
  • toString(): 转换为字符串
val b:Byte= 1
//val n:Int = b //错误的做法
val n:Int = b.toInt()
val c = b.toString()

字符和字符串

  • 字符 (Char): 单个字符组成, 字符用单引号'引起来

    • 比如: ‘a’, ‘1’ 等
    • Kotlin中的字符(Char)不能直接和数字进行操作,
  • 字符串(String): 由单个或多个字符组成,字符串用双引号"引起来

    • 比如 : “hello world”,“H” 等

    • Kotlin 支持三个引号 """ 扩起来的字符串,支持多行字符串

    • 和 Java 一样,String 是不可变的。方括号 [] 语法可以很方便的获取字符串中的某个字符,也可以通过 for 循环来遍历

    • 字符串内嵌表达式 : ${},其中花括号内可以放变量或者变量方法的返回值, 它可以直接放在字符串里面, 将变量的值输出;只有一个变量名或者变量值时可以省略{}

    • Kotlin支持用+来做字符串的拼接(但不建议

      val a = 1;
      val b = "变量a的值为$a"
      println("输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值