Kotlin基本语法一
来源:互联网 发布:c语言取反符号 编辑:程序博客网 时间:2024/06/05 19:25
上一篇介绍了 Android Studio安装Kotlin插件和使用,本篇介绍Kotlin基本语法。
一 变量(var)和常量(val)
Kotlin 语言声明一个变量使用关键字var,声明一个常量使用val,声明时如果没有指定类型可以自动推测出字段类型。
1 常量 (val)
val a: Int = 1 // 定义常量时进行赋值 val b = 2 // 自动推测常量类型为 Int val c: Int // 不提供初始化时需要定义常量类型 c = 3 // 定义常量后再赋值
注意 :只能被赋值一次
val 常量 赋值多次会报错编译通不过,如下图所示。
2 变量 (var)
可以对变量进行多次赋值。
val a: Int = 1 // 定义变量时进行赋值 var x = 5 // 推断变量类型为 Int x += 1
注意事项
- 常量与变量都可以没有初始化值,但是在引用前必须初始化。
- 编译器支持自动类型判断,即声明时可以不指定类型,由编译器判断。
二 字符串模板
字符串模板,可以包含一些小段代码,会把求值结果合并到字符串中。模板表达式以美元符($)开头:
- $ 表示一个变量名或者变量值。
- $varName 表示变量值。
- ${varName.fun()} 表示变量的方法返回值。
看个例子
fun mouldTest(){ var a = 1 // 模板中的变量 val s1 = "a is $a" println(s1) a = 2 // 模板中的表达式 val s2 = "${s1.replace("is","was")} ,but now is $a" println(s2) }
输出结果如下:
a is 1 a was 1 ,but now is 2
三 NULL检查机制
Kotlin 是空指针安全的,Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式
- 字段后加!!像Java一样抛出空异常。
- 另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理。
看个例子
//类型后面加?表示可为空 var age: String? = "27" //抛出空指针异常 val age1 = age!!.toInt() //不做处理返回 null val age2 = age?.toInt() //age为空返回-1 val age3 = age?.toInt() ?: -1 //只会在files不为空时执行。 println(files?.size) //当data不为空的时候,执行语句块 data?.let{ //... } //相反的,以下代码当data为空时才会执行 data?:let{ //... }
当一个引用可能为 null 值时, 对应的类型声明必须明确地标记为可为 null。
当 str 中的字符串内容不是一个整数时, 返回 null:
fun parseInt(str: String): Int? { // ...}
四 方法(函数)
4.1 函数声明
函数定义使用关键字 fun,参数格式为:参数 : 类型
// 2个 Int 类型 参数,返回值 为Int类型fun sum(a: Int, b: Int): Int { return a + b}
4.2 表达式作为函数体,返回类型自动推断:
fun sum(a: Int, b: Int) = a + bpublic fun sum(a: Int, b: Int): Int = a + b // public 方法则必须明确写出返回类型
4.3 无返回值的函数(类似Java中的void)
fun printSum(a: Int, b: Int): Unit { print(a + b)}// 如果是返回 Unit类型,则可以省略(对于public方法也是这样):public fun printSum(a: Int, b: Int) { print(a + b)}
4.4 函数的默认参数
使用默认参数来实现重载类似的功能
fun say(str: String = "hello"): String = str
这时候你可以调用say(),来得到默认的字符串 “hello”,也可以自己传入参数say(“world”)来得到传入参数值。
4.5 可变长参数函数
函数的变长参数可以用 vararg 关键字进行标识
同 Java 的变长参数一样,Kotlin 也支持变长参数
//在Java中,我们这么表示一个变长函数
public boolean hasEmpty(String... strArray){ for (String str : strArray){ if ("".equals(str) || str == null) return true; } return false;}
//在Kotlin中,使用关键字vararg来表示
fun hasEmpty(vararg strArray: String?): Boolean{ for (str in strArray){ if ("".equals(str) || str == null) return true } return false}
阅读全文
0 0
- Kotlin 基本语法 (一)
- Kotlin基本语法一
- kotlin 基本语法(一)
- Kotlin基本语法(一)
- Kotlin使用(一)基本语法
- Kotlin基本语法(一)
- Kotlin系列一(基本语法)
- Kotlin学习(一)基本语法
- Kotlin学习(一):基本语法
- Kotlin学习笔记一(基本语法)
- kotlin学习(一)kotlin的基本句法语法
- Kotlin 学习笔记(一) 基本类型和基本语法
- Kotlin 基本语法
- Kotlin基本语法
- kotlin基本语法
- kotlin基本语法
- Kotlin基本语法
- Kotlin基本语法
- C/C++创建和删除文件夹操作
- 下拉刷新
- 将文件内容读取到set集合中的实例
- mysql---使用函数处理数据
- 基于 maven 的 ssm 项目搭建二:创建项目及配置
- Kotlin基本语法一
- ExecutorService源码分析
- python第12篇之-函数的嵌套定义以及关键字nonlocal使用
- java结果集转json
- Java正则表达中Greedy Reluctant Possessive 的区别
- 微信h5页面开发遇到那些坑
- 【UC/OS-II】一、STM32平台移植教程
- PWM调光方法在LED亮度调节中的应用
- java掩码