Kotlin_01基本语法

Kotlin 基本语法

前言

本文是根据(《Kotlin极简教程》作者:陈光剑)总结摘录而来。

测试环境

因为是在Android studio中测试软件,总不能把app跑起来测试。
Android studio 中也可以run Main方法。(当然你可以用直接单元测试)

测试java 代码可以直接用

public static void main(String[] args) {
    System.out.print("hello world");
}

注意

测试kotlin 这样直接写会报错在Android studio 中还需要配置Android环境 在gradle 中需要添加

apply plugin: 'kotlin-android-extensions'

在测试如下代码就可以了。

fun main(args: Array<String>) {
    println("hello kotlin")
}

kotlin中的包的概念和java中是一样的,用来区分不同的类。所以在不同包中使用类对象、成员需要导包。(它也有public private 这类修饰词)

01声明变量和值

kotlin变量分为:

var(可变):它的生命周期中可以被多次赋值;

val(不可变):它的生命周期只能赋值一次,相当于java中被final修饰符修饰的变量。

变量类型推断

kotlin 可以自动推断赋值类型

var a=1
var b="hello"
var c=true

我们可以明确指出类型

val a:Int =10
val b:Long =100
//int类型不会强转,需要下面这样写
val b=a.toLong

可以用is操作符判断进行类型检测

val a=0
print(a is Int)

字符串模板

var a="""  hello
              world """

print(a)


结果:

  hello
           world

表达式以$开始

   val a="""  hello
                 world """
    val b="$a has ${a.length} characters"
    println(b)

    结果:
     hello
              world  has 20 characters

02流程控制语句

  • 分支语句(if、when)
  • 循环语句(for、while)
  • 跳转语句(break、continue、return、throw)

If

if作为表达式
它没有?:三元运算符可以用if代替

var a=77
var b=11
val max =if(a>b) a else b

if分支式代码块

它的最后一行是其返回值。

var a=77
var b=11

var c=if (true){
         println("444")
         b=2
    }else {
         a
         b
}
print(c)

结果:true
    444
    kotlin.Unit

结果:false
    11
if-else规则
  1. if后面的括号不能省略,括号里的值必须是布尔类型(同java)
  2. 如果条件只有一条语句,if的花括号可以省略(同java)

when

fun testWhen(obj: Any) {
    val array= arrayOf(4,5,6)
    when (obj) {
        //多个同一分支条件用逗号隔开
        1,2,3-> println(1)
        "hello" -> println("hello world")
        //in操作符可以判断区间
        in array-> println("在array中")
        //in操作符可以判断范围
        in 1..200-> println("在1-200之内")
        //可以用任意表达式作为分支条件
        parseInt(obj.toString())-> println("可以用表达式做分支条件")
        is Long -> println(obj)
        !is Long -> println("bushilong")
        //else相当于default
        else -> println("default")
    }
}

for

for (item in collection){
        println(item)
    }

for (i in array){
        println(i)
    }

//可以直接遍历,也可以通过索引遍历
fun testFor() {
    val arrayOf = arrayOf("h", "e", "l", "l", "o")
    for (i in arrayOf) {
        print(i)
    }
    for (i in arrayOf.indices) {
        println(arrayOf[i])
    }
}

while

同java

break和continue

break和cintinue都是用来控制循环结构的,主要是用来停止循环。

//break跳出for循环(终止循环)
for(i in 1..100){
    if(i%2==0){
        break
    }
}
//continue跳出if,继续for循环 (跳出本轮循环)
for(i in 1..100){
    if(i%2==0){
        continue
    }
}

return

在Kotlin中除了表达式的值,有返回值的函数都要求显式的使用return来返回其值。

(待完善)

标签@

(待完善)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值