kotlin基础--变量常量、条件语句、函数
2023-04-18 12:32:21 时间
kotlin作为谷歌钦定的安卓开发官方语言,语法简洁,相比于Java,包含了现代语言高级特性。它也是一门跨平台语言,可以脱离虚拟机,直接编译成二进制可执行文件在各大平台运行
本文基于有一定的Java基础
一.变量常量
1.声明变量
var关键字 变量名:变量类型 = 初始值
//var关键字 变量名:变量类型 = 初始值
var name: Int = 5
2.内置数据类型
数据类型
3.只读变量
我们可以用val关键字声明只读变量,和Java中final关键字相同
fun main() {
// 变量名:变量类型 = 初始值
var age: Int = 5
val name:String = "张三"
}
4.类型推断
声明变量时如果已经初始化,kotlin允许省略数据类型
fun main() {
// 变量名 = 初始值
var age = 5
val name = "张三"
}
5.常量
只读变量并不是常量,也是可以修改的 如果想要定义一个常量,就像我们Java中的:
public static final int MAX = Integer.MAX_VALUE;
则也需要在函数外定义:
const val MAX = 100
fun main() {
print(MAX)
}
常量只能是基本数据类型:Int,Long,Short,Float,Double,String,Byte,Char,Boolean
二.条件语句
1.if / else if语句
和Java相同
fun main() {
var gender = 0
if (gender == 0) {
print("男")
} else {
print("女")
}
}
2.range表达式
可以判断一个元素是否在集合里: [item] in [start]..[end]
fun main() {
var age = 8
if (age in 0..10) {
print("小孩")
}
}
3.when表达式
相当于Java中的switch表达式: case被省略,: 变为 ->
fun main() {
var age = 10
when (age) {
0 -> {
print("a")
}
10 -> {
print("b")
}
else -> {
print("c")
}
}
}
4.string模板
脚本语言都有的 $取变量内容 字符串拼接方便很多
fun main() {
val name = "张三"
var who = "他是$name"
val age = 5
var my = "我是${name},我今年${age}岁"
println(who)
println(my)
}
结果: 他是张三 我是张三,我今年5岁
三.函数
1.函数定义
//修饰符 函数声明关键字 函数名 入参 返回类型
private fun getInfo(age: Int): String
2.函数入参
可以给入参设定默认值
private fun getInfo(age: Int = 5, name: String): String {
return ""
}
调用函数时,不需要一定按照函数定义的顺序传参
fun main(){
getInfo(name = "张三",age = 10)
}
//修饰符 函数声明关键字 函数名 入参 返回类型
private fun getInfo(age: Int = 5, name: String): String {
return ""
}
3.返回参数Nothing类型
TODO函数就是抛出异常,使用Nothing类型作为返回参数
fun main() {
println("123")
TODO("抛出一个异常")
println("456")
}
结果:
123
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: 抛出一个异常
at com.aruba.mykotlinapplication.FunctionKt.main(function.kt:11)
at com.aruba.mykotlinapplication.FunctionKt.main(function.kt)
4.特殊的函数名
如果我们想用使用一段话来作为函数名,可以使用``将函数名包裹
fun `哈哈,这是一个特殊的函数`(){}
相关文章
- git 提交后Jenkins自动构建、并发布服务
- 编译型语言与解释型语言
- 关于编辑器和解释型编译型语言
- 多道技术、同步异步和阻塞非阻塞
- 升级指南之JDK 11+ 新特性和AJDK
- Spring 国际化@Autowired MessageSource 配置文件读取顺序
- Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?
- 读Java性能权威指南(第2版)笔记09_即时编译器下
- 【Java】先return还是先finally
- 【SpringBoot】AOP默认的动态代理
- 配置完maven环境变量后cmd输入mvn -v命令后报错:NB: JAVA_HOME should point to a JDK not a JRE
- 读Java性能权威指南(第2版)笔记08_即时编译器中
- 静态类和非静态类 抽象类
- java开发JDK工具的安装
- 三天吃透Java基础八股文
- nacos简单使用
- Spring Security + JWT + Swagger2 登录验证一套流程小结
- ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
- 读Java性能权威指南(第2版)笔记07_即时编译器上
- Collection集合类(Java)