Android kotlin入门与基础语法一
来源:互联网 发布:wap网投源码 编辑:程序博客网 时间:2024/06/05 05:59
Kotlin团队为 Android开发提供了一套超越标准语言功能的工具。
1、 Kotlin Android扩展是一个编译器扩展,比如可以不用写findViewByid,直接用Id操作控件赋值
2、Anko是一个提供围绕Android API的kotlin友好的包装器的库,以及一个可以用kotlin代码替换布局.xml文件的DSL.
一、包
说明: 源文件通常以包声明开头,源文件所有内容(无论是类还是函数)都包含在声明的包内,如果没有指明包,该文件的内容属于无名字的默认包,示例如下:
package foo.bar
fun baz(){}
class Goo{}
以上方法baz的全名是foo.bar.baz,Goo的全名是foo.bar.Goo
默认导入: 有多个包会默认导入到每个kotlin文件中,如: kotlin.、kotlin.annotation.、kotlin.collections.、kotlin.io.、kotlin.ranges.、kotlin.sequences.、kotline.text.,根据目标平台还会导入额外的包JVM: Java.lang.、kotlin.jvm.*
import导入:
1、 可以导入一个单独的名字,如.import foo.Bar // 现在 Bar 可以不用限定符访问也可以导入一个作用域下的所有内容(包、类、对象等):
import foo.* // “foo”中的一切都可访问如果出现名字冲突,可以使用as关键字在本地重命名冲突项来消歧义:import bar.Bar as bBar // bBar代表“bar.Bar”
2、关键字import并不仅限于导入类;也可用它来导入其他声明:顶层函数及属性在对象声明中声明的函数和属性;枚举常量与 Java 不同,Kotlin 没有单独的 “import static” 语法;所有这些声明都用import关键字导入。顶层声明的可见性如果顶层声明是private的,它是声明它的文件所私有的
二、定义函数
带有两个Int参数、返回Int的函数:
fun sum(a:Int,b:Int):Int
{
return a+b
}
将表达式作为函数体、返回值类型自动判断的函数:
fun sum(a:Int,b:Int)=a+bfun main(args:Array<String>){ println("sum of 19 and 23 is ${sum(19,23)}")}
函数返回无意义的值:
fun main(args:Array<String>){ printSum(-1,8)}fun printSum(a:Int,b:Int):Unit{ println("sum of $a and $b is ${a+b}")}备注: Unit返回类型可以省略
三、定义局部变量
一次赋值(只读)的局部变量:
fun main(args:Array<String>){ var a:Int=1//立即赋值 var b=2//自动推断出"Int"类型 var c:Int//如果没有初始值类型不能省略 c=3//明确初始值}可变变量:fun main(args:Array<String>){ var x=5 //直接推断出"Int"类型 x+=1 println("x=$x")}
四、注释
行注释: //这是一个行注释
块注释: /*/
五、使用字符串模板
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 main(args:Array<String>) { println("max of 0 and 42 is $(maxof(0,42))")} fun maxOf(a:Int,b:Int):Int { if(a>b) { return a }else { return b } }使用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)}")}
七、使用可空值及null检测
当某个变量的值额可以为null的时候,必须在声明处的类型后添加? 来标识该引用可为空
如果str的内容不是数字返回null:
fun parseInt(str:String):Int?{ return str.toIntOrNull()}fun printProduct(arg1:String,arg2:String){ val x=parseInt(arg1) val y=parseInt(arg2) //直接使用"x"或"y"可能会报错,因为他们可能为null if(x!=null&&y!=null) { println(x*y) }else { println("either '$arg1' or '$arg2' is not a number") }}fun mian(args:Array<String>){ printProduct("6","7")}
或者
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) { return } if (y == null) { return }// 在空检测后,x 和 y 会自动转换为非空值 println(x * y)}
- Android kotlin入门与基础语法一
- Android kotlin入门与基础语法二
- Kotlin入门____基础语法(一)
- Android kotlin 基础语法
- Kotlin(一)语法基础
- Kotlin 基础语法(一)
- kotlin基础语法(一)
- Kotlin与Swift 从零开始(一)基础语法
- Android Kotlin学习--基础语法
- Kotlin基础入门(一)
- Android 与 Kotlin 入门
- Kotlin入门篇之基础语法
- Kotlin 入门基础语法学习笔记
- Kotlin学习笔记之基础语法一
- Kotlin学习(一)基础语法
- Kotlin Android入门学习一
- Kotlin开发Android入门(一)
- 零基础入门Android语法与界
- Android开发之银联工作密钥,主密钥,传输密钥(加解密图文展示)
- 获取运行文件路径 ,TCHAR 转 CString
- linux 解压war包
- oracle 分组后取每组第一条数据
- Java中 = 和 += 的区别
- Android kotlin入门与基础语法一
- 导入开源库后,出现java.lang.NoClassDefFoundError: rx.plugins.RxJavaPlugins异常
- linux 文件类型
- 单利模式-懒汉式-饿汉式
- 阿里云主机安装oracle11g 交换空间不足
- Java基础
- Android 自定义相机 身份证拍照 自定义身份证相机
- 自动跳转文本的实现
- System.out.print("Hello CSDN!")