kotlin语法学习一
来源:互联网 发布:mac好用的vpn 编辑:程序博客网 时间:2024/05/16 16:10
包
包声明
一个源文件以包声明开始
kotlin
package foo.bar
fun bza(){}
bzd的完整包名是foo.bar.bza
包的导入
- import foo.Bar //Bar可以直接使用
- import foo.* //foo下的所有都可以使用
- import bar.Bar as bBar //如果包名冲突可以使用as关键字重命名解决冲突
定义函数
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) println(methodName(16,18)); }//fun 方法名(参数名:数据类型,参数名:数据类型):返回值类型{} fun methodName(a: Int, b: Int): Int { return a + b; }
如果函数只有一个表达式的函数体,并作为返回值函数可以直接写成:
fun methodName(a: Int, b: Int)=a + b;
无返回值可以不写返回值类型,也可以写成
//在控制台中println的log为:I/System.out fun printMethod(a: Int, b: Int): Unit { println(a + b); }
定义局部变量
常量
直接初始化
val a:Int =1;
根据赋值确定数据类型
val b = 1;
没有初始化值时必须要声明类型
val c:Int; c = 10;
变量
//自动推到Int类型var x =5
字符串模板
$变量名${表达式}
使用循环
val items = listOf<String>("a","b","c");//输出每个itemfor (item in items){ println(item)}//输出item索引for(index in items.indices){ println(index);}
While 循环与java类似
when表达式
fun methodWhen(obj: Any) { val result: String; result = when (obj) { 1 -> " int 1"; "1" -> " string 1"; else -> "unknown" } println(result) }
使用ranges
//x在1到y+1的范围x in 1..y+1//x不在1到y+1的范围x !in 1..y+1//范围迭代for (x in 1..5)//步进for(x in 1..10 step 2)for(x in 1 downTo 0 step 2)for (x in 1..10){ println("1..10=$x")}for (x in 1..10 step 2){ println("1..10 step 2=$x")}for (x in 10 downTo 1 step 2){ println("10 downTo 1 step 2=$x")}
使用集合
val items = listOf("apple","banana","kiwi") val items = setOf("apple", "banana", "kiwi")
阅读全文
0 0
- kotlin语法学习一
- Kotlin语法 学习笔记(一)
- Kotlin学习笔记之基础语法一
- Kotlin学习(一)基本语法
- Kotlin学习(一)基础语法
- Kotlin学习(一):基本语法
- Kotlin学习笔记一(基本语法)
- kotlin学习(一)kotlin的基本句法语法
- [Kotlin]Kotlin学习笔记(一):环境搭建及Kotlin特色语法学习笔记
- Kotlin语法(一)
- Kotlin 基本语法 (一)
- Kotlin基本语法一
- kotlin 基本语法(一)
- Kotlin 基础语法学习
- 【Kotlin】基础语法学习
- kotlin基础语法学习
- kotlin学习--基本语法
- kotlin语法学习二
- 音频格式及浏览器支持
- 堆排序
- 【Git之窗】(十二)you are not allowed to push code to protected branches on this project
- Java学习笔记(19)--关键字static详解
- python 类属性
- kotlin语法学习一
- 触发器
- 2.局部加权线性回归和逻辑回归
- leetcode 17-18
- 已解决:Mybatis自动生成代码遇到的“前言不允许有内容”
- RecyclerView之更新UI数据的高级用法
- Failed to convert property value of type 'java.lang.String' to required type 'int' for property
- 数据库——sql中的聚合函数和标量函数
- C++与C语言的区别