Kotlin入门基础1--一句话教程
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,1,定义函数fun 函数名(参数名:类型,参数名:类型,...):返回类型{ ......}比如fun sum(a: Int, b: Int): Int { return a + b}如果
1,定义函数
fun 函数名(参数名:类型,参数名:类型,...):返回类型{ ......}
比如
fun sum(a: Int, b: Int): Int { return a + b}
如果不需要返回值,则可以
fun printSum(a: Int, b: Int) { println("sum of $a and $b is ${a + b}")}
2,定义变量
如果是只读变量,用val声明,如果是可修改的变量,用var声明
val a: Int = 1 val b = 2 // 自动推断类型`Int` val c: Int // 如果没有初始值,则需要提供类型c = 3 // 稍后赋值var x = 5 // 自动推断类型`Int`x += 1
3,字符串模板
var a = 1// simple name in template:val s1 = "a is $a" a = 2// arbitrary expression in template:val s2 = "${s1.replace("is", "was")}, but now is $a"
4,if表达式
fun maxOf(a: Int, b: Int) = if (a > b) a else b
5,对于可能为null的值,必须判断
fun parseInt(str: String): Int? { // 如果不是int,就返回null}fun printProduct(arg1: String, arg2: String) { val x = parseInt(arg1) val y = parseInt(arg2) // Using `x * y` yields error because they may hold nulls. if (x != null && y != null) { // x and y are automatically cast to non-nullable after null check println(x * y) } else { println("either '$arg1' or '$arg2' is not a number") } }
6, 用is 关键字判断对象类型,相当于java的instanceOf
fun getStringLength(obj: Any): Int? { if (obj !is String) return null // `obj` is automatically cast to `String` in this branch return obj.length}
7, list遍历
val items = listOf("apple", "banana", "kiwifruit")for (item in items) { println(item)}val items = listOf("apple", "banana", "kiwifruit")var index = 0while (index < items.size) { println("item at $index is ${items[index]}") index++}
fun describe(obj: Any): String = when (obj) { 1 -> "One" "Hello" -> "Greeting" is Long -> "Long" !is String -> "Not a string" else -> "Unknown" }
8, 范围
val x = 10val y = 9if (x in 1..y+1) { println("fits in range")}val list = listOf("a", "b", "c")if (-1 !in 0..list.lastIndex) { println("-1 is out of range")}if (list.size !in list.indices) { println("list size is out of valid list indices range, too")}//遍历for (x in 1..5) { print(x)}//步长for (x in 1..10 step 2) { print(x)}println()for (x in 9 downTo 0 step 3) { print(x)}
9,集合
for (item in items) { println(item)}when { "orange" in items -> println("juicy") "apple" in items -> println("apple is fine too")}//lambda表达式val fruits = listOf("banana", "avocado", "apple", "kiwifruit")fruits .filter { it.startsWith("a") } .sortedBy { it } .map { it.toUpperCase() } .forEach { println(it) }
10,创建对象
val rectangle = Rectangle(5.0, 2.0) //不需要'new'val triangle = Triangle(3.0, 4.0, 5.0)
参考文献: https://kotlinlang.org/docs/reference/coding-conventions.html