Android开发学习之路--Kotlin之基础语法

前言

java代码写久了自然会想换个语言玩一下,而且kotlin作为android的官方语言,总是要学习下的,故这里先来学习下一些基本语法吧,打个小基础,后面才能游刃有余地开发。

1 基础语法

这里省略了很多一般的语言需要的语法,只简单介绍下开发时要用到的。

1.1 定义变量:

  • val: 不可修改的变量,类似final
val a: Int = 4 // 立刻赋值
val b = 8      // Int类型是自推导的
val c: Int     // 没有初始化器时要指定类型
c = 22         // 推导型赋值
  • var: 可修改的变量
var x = 20 

1.2 定义函数

一个a+b的函数,参数是a和b, 返回一个Int的结果

fun printSum(a: Int, b: Int): Int {
    println("sum of $a and $b is ${a + b}")
}

也可以写成,也即是单表达式函数

fun sum(a: Int, b: Int) = a + b

1.3 String模板:

使用$+变量名来获取对应的值用来字符串插值

var a = 1
var b = 2
var s1 = "sum of $a and $b is ${a + b}"
// $a, $b可以直接获取a和b的值
a = 3
b = 4
var s2 = "${s1.replace("is", "was")}, but now sum is ${a+b}"

1.4 值检查以及自动转换

使用”is”操作符检查一个表达式是否是某个类型的实例,类似”instance”

fun getStringLength(obj: Any): Int? {
    // obj 将会在&&右边自动转换为 String 类型
    if (obj is String && obj.length > 0) {
        return obj.length
    }   
    return null
}

1.5 for循环

使用 in 操作符遍历items列表数据

val items = listOf("hello1", "hello2", "hello3")
for (item in items) {
    println(item)
}

1.6 ranges

  • 使用 in 操作符检查数值是否在某个范围内
val x = 10
val y = 9
if (x in 1..y+1) {
    println("fits in range")
}
  • 使用范围内迭代
for (x in 1..5) {
    print(x)
}
  • 使用步进
for (x in 1..10 step 2) {
    print(x)
}
for (x in 9 downTo 0 step 3) {
    print(x)
}

1.7 when表达式

fun describe(obj: Any): String =
when (obj) {
    1 -> "One"
    "Hello" -> "Greeting"
    is Long -> "Long"
    !is String -> "Not a string"
    else -> "Unknown"
}

2 常用

2.1 函数默认参数

fun foo(a: Int = 0, b: String = "") { ... }

其中a和b都有默认的构造函数,在创建对象的时候就不需要给它赋值了

2.2 过滤list

val positives = list.filter { x -> x > 0 }
或者
val positives = list.filter { it > 0 }

这里使用了lambda表达式,list的filter过略掉x>0的,当然不指定x的话,可以用it代替

2.3 实例检查

when (x) {
    is Long -> ...
    is String -> ...
    else -> ...
}

2.4 操作符 ?

表示这个对象可能为空

//在变量类型后面加上问号,代表该变量是可空变量  
var name: String? = "eastmoon"

这里的name后续可以赋值为空,

//在变量类型后面加上问号,代表该变量是可空变量  
var name: String = "eastmoon"

这里的name后续不可以赋值为空

2.5 操作符 ?.

如果不为空则… 的简写

val files = File("Test").listFiles()
println(files?.size)

2.6 操作符 ?.{} ?:{}

如果不为空…否则… 的简写

val files = File("test").listFiles()
println(files?.size ?: "empty")

2.7 操作符 ?.let{}

如果不为空执行某操作

val data = ...
data?.let{
...//如果不为空执行该语句块
}

2.8 操作符 ?.let{ } ?: let{ }

如果不为空执行某操作,否则执行某操作

val data = ...
data?.let{
...//如果不为空执行该语句块
} ?: let{
...//如果为空执行该语句块
}

2.9 try-catch 表达式

fun test() {
    val result = try {
        count()
    } catch (e: ArithmeticException) {
        throw IllegalStateException(e)
    }
    // Working with result
}

2.10 符号::

得到类的Class对象

startActivity(Intent(this@MainActivity, TestActivity::class.java))

2.11 符号@

  • 限定this的类型
class User {
    inner class Test {
        fun getUser(): User {
            //返回User
            return this@User
        }

        fun getTest(): Test {   
            //返回Test
            return this@Test
        }
    }
}
  • 标签

跳出双重循环

val arrays = listOf(1, 2, 3, 4, 5)
loop@ for (i in 0..9) {
    for (itemB in arrays) {
        if (itemB > 2) {
            break@loop
        }
        Log.d("Main", "itemB:$itemB")
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Kotlin开发视频是一种教学视频,旨在帮助初学者和有经验的开发学习和掌握使用Kotlin语言在Android平台上进行应用开发的技能和知识。 这些视频主要包括以下内容: 1. Kotlin语言基础:包括变量、数据类型、控制流、函数等基本语法和特性。 2. Android开发基础:介绍Android开发的基本概念、运行机制和常用工具,如Android Studio。 3. KotlinAndroid上的应用:教授如何使用Kotlin语言开发Android应用,包括UI设计、布局、显示数据等方面的知识。 4. 常用框架和库:引导学习者掌握常用的Android开发框架和库,如Retrofit、Glide、RxJava等。 5. 实战项目:通过实际案例项目,帮助学习者将所学知识应用于实际开发中,提升他们的实际开发能力。 通过观看这些视频,学习者可以快速入门Android开发,并且全面了解KotlinAndroid开发中的优势和特点。视频的形式能够直观地展示开发过程,并配有讲解和实际操作,便于学习者跟随和理解。 同时,这些视频可以随时随地观看,有利于自主学习学习者可以在自己的节奏下学习,以便更好地理解和消化所学知识。此外,视频还可以多次重复观看,帮助学习者巩固和复习学习内容。 总而言之,Android Kotlin开发视频是一种有效的学习资源,可以帮助开发者快速掌握使用Kotlin语言进行Android应用开发的技巧和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值