概述
1、数组
1)数组的定义
使用关键字 arrayOf
//定义数组并赋值
//张三 李四 王五
val arr= arrayOf("张三","李四","王五")
//10 20 30
val arr1= arrayOf(10,20,30)
//保存不同类型的值
val arr3= arrayOf("张三","李四","10","a")
2)数组元素的修改
对数组中某个角标的元素进行修改
/**
* 数组元素的修改
*/
fun main(args: Array<String>) {
val array= arrayOf(1,3,5,3,6)
//把5修改成9
array[2]=9
array.set(2,9)
array.forEach {
print(it)
}
}
3)数组元素角标的查询
查找某一类角标都有对应的api方法
val array = arrayOf("张三", "李四", "张四", "王五", "张三", "赵六")
//查询第一个张三的角标
println(array.indexOf("张三"))
//查找最后一个张三的角标
println(array.lastIndexOf("张三"))
//高阶函数
//第一个姓张的人的角标
val index1 = array.indexOfFirst {
it.startsWith("张")
}
println(index1)
//最后一个姓张的人的角标
val index2 = array.indexOfLast {
it.startsWith("张")
}
println(index2)
array.indexOfFirst {
it=="张三"
}
//输出结果
0
4
0
4
2、各种表达式
1)when表达式
简单的基于java的switch 复杂的是基于java的if else实现的,java是声明式语法 kotlin是表达式语法。when表达式是最后一个是返回值。
fun main(args: Array<String>) {
//按着年龄做该干的事
var year: Int = 13
when (year) {
is Int -> {
print("是Int类型")
}
in 1..6 -> {
print("呵呵长身体")
}
in 7..11 -> {
System.out.print("上小学")
}
in 12..15 -> {
System.out.print("上中学")
}
in 16..18 -> {
System.out.print("上高中")
}
19 -> {
System.out.print("上大学")
}
else -> {
System.out.print("上社会大学")
}
}
}
2)函数表达式
kotlin可以把大括号省略掉 以及return
var a = 10
var b = 20
/**
* 普通写法
*/
fun addMethod(a: Int, b: Int): Int {
return a + b
}
/**
* 函数表达式写法
*/
fun addMethod1(a: Int, b: Int): Int = a + b
补充:可以使用双冒号引用函数
fun main(args: Array<String>) {
var a = 10
var b = 20
// addMethod(a, b)
// println(addMethod1(a, b))
val padd = ::addMethod//使用双冒号引用函数
//两种调用方式
println(padd(10, 20))
println(padd.invoke(10, 30))//处理函数参数为空的情况
//函数表达式另外一种类型 匿名函数
val padd1: (Int, Int) -> Int = { a: Int, b: Int -> a + b }
}
/**
* 普通写法
*/
fun addMethod(a: Int, b: Int): Int {
return a + b
}
/**
* 函数表达式写法
*/
fun addMethod1(a: Int, b: Int): Int = a + b
3、参数
1)具名参数和默认参数
fun main(args: Array<String>) {
// sendRequest("www.baidu.com")
// sendRequest("www.baidu.com","POST")
sendRequest(path = "www.baidu.com", method = "POST")//具名参数 参数位置可以变化
}
fun sendRequest(path: String, method: String = "GET") {//默认参数
println("path=$path, method=$method")
}
2)可变参数
fun main(args: Array<String>) {
val a = 10
val b = 20
val c = 30
val result = add(a,b,c,10,60,40)
println(result)
}
```kotlin
在这里插入代码片
//vararg可变参数
/**
- 无论传递多少个我都能求他们的和 可变参数
*/
fun add(vararg a: Int): Int {
var result = 0
a.forEach {
result += it
}
return result
}
最后
以上就是烂漫人生为你收集整理的学习kotlin系列之四(数组和表达式)的全部内容,希望文章能够帮你解决学习kotlin系列之四(数组和表达式)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复