下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】AndroidKotlin开发实例(HelloWorld!)及语法详解
AndroidKotlin开发实例及语法详解前言Kotlin是一种在Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势
1.简洁
它大大减少你需要写的样板代码的数量。
2.安全
避免空指针异常等整个类的错误。
3.通用
构建服务器端程序、Android应用程序或者在浏览器中运行的前端程序。
4.互操作性
通过100%Java互操作性,利用JVM既有框架和库。配置在我们的AndroidStudio开发工具中,要想使用Kotlin这个优秀的开发语言,我们需要安装插件,直接在安装插件界面搜索Kotlin然后安装。之后再gradle文件增加如下配置项目gradle文件完成上面的配置后,我们就可以愉快的玩耍了。Kotlin示例首先我们还和以前一样,创建一个Android项目,自动创建一个Activity之后我们再创建一个java类那上面的代码如果用kotlin实现是什么样子呢。尽管现在我们还不能写出Kotlin代码,但是在安装插件后AS中提供了自动转换Kotlin代码的功能转换后的Kotlin代码注意:AS提供的java代码自动转换功能,我们不要轻易使用,更不要转化我们成熟的项目,如果需要就需要我们自己去重构实现。否则会有意向不到的事情等着你,毕竟转换不是那么智能。上面的代码只是让你先简单熟悉下Kotlin代码时什么样子的,接下来我们先去学习一下Kotlin的基本语法。相信很容易上手。HelloWorld!我们由一个简单的”HelloWorld!”输出程序开始。与新建java文件类似,如下图,我们选择KotlinFile/Class.创建一个Kotlin文件。上述代码就是简单的输出一个字符串“HelloWorld”,package后面跟的是包名,我们看出了和java文件的区别,在包名后面没有以分号“;”结尾。在Kotlin语法中,语句结尾都不在有分号“;”。在Kotlin中变量声明有两种类型,val修饰变量是只读变量即只能赋值一次,再次赋值时就会编译错误
,如果我们需要多次修改值就需要使用var。在上面的varstr:String=“”中,str是变量名,:String,表明该变量是String类型变量,后面就是赋值语句。我们也可以这样写varstr=“”省略了生命变量类型,它可以根据赋的值而自动推断出类型。如果我们使用下面赋值语句str=null,发现null是不能赋值的,这就是Kotlin的特性,如果我们想赋值null,可以修改为varstr:String?=”“。
fun就是函数生命,而这个main函数就和我们java中的main方法一样,是程序执行的入口。println就是一个打印输出。Kotlin声明类型在Kotlin中有如下几种Number类型,他们都是继承自Number抽象类。
Float(32位),Double(64),Int(32),Byte(8),Short(16),Long(64,类型用大写L,如12L),Any(任意类型),数组类型Array根据传入的泛型数据自动匹配类型,Kotlin还提供了指定类型的Array,如ByteArray,CharArray,ShortArray,IntArray,LongArray,FloatArray,DoubleArray,BooleanArray。在数组类型中都提供了get(index),set(index,value)及iterator()方法供我们使用。函数我们先来实现一个简单的数值求和的函数,通用实现方法如下传入两个Int型数值,sum是函数名,括号后面的:Int表示该函数返回Int的值,函数体中对两个数字相加并返回。在Kotlin中表达式也可以作为函数体,编译器可以推断出返回类型,可以简化为为了更好理解表达式可以作为函数体,我们可以创建一个函数获取两个数的最大值,如下:
需要注意的是若if后有多个表达式,如下括号中的表达式顺序决定了返回的值及其类型。如果我们的方法体仅仅是打印字符串,并不返回值则Unit就类似我们java中的void,即没有返回值,此时我们可以省略对于函数体,方法或者类等和java一样也有一些修饰符,如下操作符直接上代码如下输出信息为在上面的部分操作符可达到逻辑操作符,当我们使用Boolean时,or()相当于||,and()相当于&&,xor()当操作符两边相反时为true,否则为false,not()时取反。数组遍历及控制语句遍历数组使用when判断类型is和java中instanceof是一个作用判断是否为某个类型。!is即判断不是某个类型。倒序输出是downTo类与枚举
数据类用来保存数据,类似于POJO类,使用data关键词进行定义,编译器默认会为数据类生成以下四个方法通过数据类你会看到Kotlin的简洁性,我们创建一个Staff类,有String类型的name,position和泛型T(使用泛型仅仅是为了在Kotlin中接触以下泛型)
java实现代码:
Kotlin数据类:通过对比我们就看出了优点了,一行代码就实现了,具体使用要获取某个属性如获取名字,赋值就是=”code4Android2”,既然说了这样可以赋值,但是动手的小伙伴说为什么我敲的报错啊,如下编译报错了,在前面我们说过val修饰的属性只能赋值一次,那在这里val修饰的属性我们是不能再次赋值的。上面使用了字符模板,在Kotlin中有两种字符模板形式,$<变量>、${<变量>}枚举在Kotlin中枚举还支持方法。扩展使用代理操作符::伴生对象伴生对象(companionobject)类似于java中的静态关键字static。在Kotlin没有这个关键字,而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校翻新合同条款
- 印刷品运输承揽合同
- 信访办石膏吊顶装修合同
- 低温冰淇淋配送合同样本
- 服装出口多式联运合同
- 医药展会物资运输合作协议
- 地下管廊渣土运输合同范本
- 体育训练基地水电改造协议
- 化妆品物流配送协议范本
- 产业园区装修工程合同样本
- 论十大关系全文
- ASTM-E505 标准图谱参考资料 标准讲义
- 三年级上册语文课件-《24司马光》(共15张PPT) 人教部编版
- 尺骨冠状突骨折护理查房课件
- 高校辅导员培训PPT课件:学生常规管理及技巧
- 中小学教师高级职称晋升英语学科全英讲课答辩真题
- 部编版语文五年级上册八单元集体备课
- 江苏省常州市各县区乡镇行政村村庄村名居民村民委员会明细
- XX二中校园LED显示屏应急预案
- 2022宪法及民法典知识竞赛题库及答案
- 象棋社团活动教案小学象棋社团活动教案
评论
0/150
提交评论