kotlin基础--变量常量、条件语句、函数

2021-12-06 17:15:44 浏览数 (1)

kotlin作为谷歌钦定的安卓开发官方语言,语法简洁,相比于Java,包含了现代语言高级特性。它也是一门跨平台语言,可以脱离虚拟机,直接编译成二进制可执行文件在各大平台运行
本文基于有一定的Java基础
一.变量常量
1.声明变量

var关键字 变量名:变量类型 = 初始值

代码语言:javascript复制
    //var关键字  变量名:变量类型 = 初始值
    var name: Int = 5
2.内置数据类型

数据类型

3.只读变量

我们可以用val关键字声明只读变量,和Java中final关键字相同

代码语言:javascript复制
fun main() { 
    //  变量名:变量类型 = 初始值
    var age: Int = 5
    val name:String = "张三"
}
4.类型推断

声明变量时如果已经初始化,kotlin允许省略数据类型

代码语言:javascript复制
fun main() {
    //  变量名 = 初始值
    var age = 5
    val name = "张三"
}
5.常量

只读变量并不是常量,也是可以修改的 如果想要定义一个常量,就像我们Java中的:

代码语言:javascript复制
public static final int MAX = Integer.MAX_VALUE;

则也需要在函数外定义:

代码语言:javascript复制
const val MAX = 100

fun main() {
    print(MAX)
}

常量只能是基本数据类型:Int,Long,Short,Float,Double,String,Byte,Char,Boolean

二.条件语句
1.if / else if语句

和Java相同

代码语言:javascript复制
fun main() {
    var gender = 0
    if (gender == 0) {
        print("男")
    } else {
        print("女")
    }
}
2.range表达式

可以判断一个元素是否在集合里: [item] in [start]..[end]

代码语言:javascript复制
fun main() {
    var age = 8

    if (age in 0..10) {
        print("小孩")
    }
}
3.when表达式

相当于Java中的switch表达式: case被省略,: 变为 ->

代码语言:javascript复制
fun main() {
    var age = 10
    when (age) {
        0 -> {
            print("a")
        }
        10 -> {
            print("b")
        }
        else -> {
            print("c")
        }
    }
}
4.string模板

脚本语言都有的 $取变量内容 字符串拼接方便很多

代码语言:javascript复制
fun main() {
    val name = "张三"
    var who = "他是$name"

    val age = 5
    var my = "我是${name},我今年${age}岁"
    
    println(who)
    println(my)
}

结果: 他是张三 我是张三,我今年5岁

三.函数
1.函数定义
代码语言:javascript复制
//修饰符  函数声明关键字   函数名    入参       返回类型
  private    fun         getInfo(age: Int): String 
2.函数入参

可以给入参设定默认值

代码语言:javascript复制
private fun getInfo(age: Int = 5, name: String): String {
    return ""
}

调用函数时,不需要一定按照函数定义的顺序传参

代码语言:javascript复制
fun main(){
    getInfo(name = "张三",age = 10)
}

//修饰符  函数声明关键字   函数名    入参       返回类型
private fun getInfo(age: Int = 5, name: String): String {
    return ""
}
3.返回参数Nothing类型

TODO函数就是抛出异常,使用Nothing类型作为返回参数

代码语言:javascript复制
fun main() {
    println("123")
    TODO("抛出一个异常")
    println("456")
}

结果:

代码语言:javascript复制
123
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: 抛出一个异常
    at com.aruba.mykotlinapplication.FunctionKt.main(function.kt:11)
    at com.aruba.mykotlinapplication.FunctionKt.main(function.kt)
4.特殊的函数名

如果我们想用使用一段话来作为函数名,可以使用``将函数名包裹

代码语言:javascript复制
fun `哈哈,这是一个特殊的函数`(){}

0 人点赞