Kotlin 语言基本语法的使用
来源:互联网 发布:笔记本usb端口上的电涌 编辑:程序博客网 时间:2024/05/21 09:07
定义包名
在源文件的开头定义包名:
package my.demoimport java.util.*//...
包名不必和文件夹路径一致:源文件可以放在任意位置。
更多请参看 包(package)
定义函数
定义一个函数接受两个 int 型参数,返回值为 int :
fun sum(a: Int , b: Int) : Int{ return a + b}fun main(args: Array<String>) { print("sum of 3 and 5 is ") println(sum(3, 5))}
该函数只有一个表达式函数体以及一个自推导型的返回值:
fun sum(a: Int, b: Int) = a + bfun main(args: Array<String>) { println("sum of 19 and 23 is ${sum(19, 23)}")}
返回一个没有意义的值:
fun printSum(a: Int, b: Int): Unit { println("sum of $a and $b is ${a + b}")}fun main(args: Array<String>) { printSum(-1, 8)}
Unit 的返回类型可以省略:
fun printSum(a: Int, b: Int) { println("sum of $a and $b is ${a + b}")}fun main(args: Array<String>) { printSum(-1, 8)}
更多请参看函数
定义局部变量
声明常量:
fun main(args: Array<String>) { val a: Int = 1 // 立即初始化 val b = 2 // 推导出Int型 val c: Int // 当没有初始化值时必须声明类型 c = 3 // 赋值 println("a = $a, b = $b, c = $c")}
变量:
fun main(args: Array<String>) { var x = 5 // 推导出Int类型 x += 1 println("x = $x")}
更多请参看属性和字段
注释
与 java 和 javaScript 一样,Kotlin 支持单行注释和块注释。
// 单行注释/* 哈哈哈哈 这是块注释 */
与 java 不同的是 Kotlin 的 块注释可以级联。
参看文档化 Kotlin 代码学习更多关于文档化注释的语法。
使用字符串模板
fun main(args: Array<String>) { var a = 1 // 使用变量名作为模板: val s1 = "a is $a" a = 2 // 使用表达式作为模板: val s2 = "${s1.replace("is", "was")}, but now is $a" println(s2)}
更多请参看字符串模板
使用条件表达式
fun maxOf(a: Int, b: Int): Int { if (a > b) { return a } else { return b }}fun main(args: Array<String>) { println("max of 0 and 42 is ${maxOf(0, 42)}")}
把if当表达式:
fun maxOf(a: Int, b: Int) = if (a > b) a else bfun main(args: Array<String>) { println("max of 0 and 42 is ${maxOf(0, 42)}")}
更多请参看if表达式
使用可空变量以及空值检查
当空值可能出现时应该明确指出该引用可空。
下面的函数是当 str 中不包含整数时返回空:
fun parseInt(str : String): Int?{ //...}
使用一个返回可空值的函数:
fun parseInt(str: String): Int? { return str.toIntOrNull()}fun printProduct(arg1: String, arg2: String) { val x = parseInt(arg1) val y = parseInt(arg2) // 直接使用 x*y 会产生错误因为它们中有可能会有空值 if (x != null && y != null) { // x 和 y 将会在空值检测后自动转换为非空值 println(x * y) } else { println("either '$arg1' or '$arg2' is not a number") } }fun main(args: Array<String>) { printProduct("6", "7") printProduct("a", "7") printProduct("a", "b")}
或者这样
fun parseInt(str: String): Int? { return str.toIntOrNull()}fun printProduct(arg1: String, arg2: String) { val x = parseInt(arg1) val y = parseInt(arg2) // ... if (x == null) { println("Wrong number format in arg1: '${arg1}'") return } if (y == null) { println("Wrong number format in arg2: '${arg2}'") return } // x 和 y 将会在空值检测后自动转换为非空值 println(x * y)}
阅读全文
0 0
- Kotlin 语言基本语法的使用
- Kotlin使用(一)基本语法
- Kotlin第二章:Kotlin 的基本语法
- Android java到Kotlin的基本语法
- 一个Swifter的Kotlin学习——Kotlin 基本语法
- kotlin学习(一)kotlin的基本句法语法
- Kotlin开发之旅《二》—Kotlin的基本语法
- Kotlin 基本语法
- Kotlin基本语法
- kotlin基本语法
- kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- Kotlin 基本语法 (一)
- Kotlin 基本语法 (二)
- Kotlin~基本语法
- KOtlin 基本语法
- kotlin---基本语法
- 基于C语言的学生成绩管理系统
- Python进阶之“属性(property)”详解
- C# 匿名方法
- Android Studio的图片到底是放在drawable还是mipmap呢
- Spring Boot学习(简介-Hello World)
- Kotlin 语言基本语法的使用
- GeoHash经度估算
- Java--种花的问题
- 浅析jQuery的基础设计模式
- 二叉树和二叉查找树
- C语言可以干些什么?C语言主要涉及哪些IT领域?
- Sublime Text Build 3126 x64 安装
- zkw线段树
- 说说 JavaScript 事件流之事件类型(包含 DOM2、DOM3 级事件)