移动终端开发详解总结(二)(kotlin版)| CSDN创作打卡
文章目录
- 2021.3.10(一)1.了解Java代码编译执行的过程。
- 2.二维数组
- 3. 运算符
- 4.字符串的操作
- 2021.3.11(二)1.字符串操作
- 2.语句结构
- 2.区间
- 3.类型转换
- 2021.3.17(三)1.类型转换
- 2.空值处理
- 3.函数的定义
- 2021.3.18 1.函数的类型
- 2.单表达式函数
- 3.函数的参数
- 4.函数的分类
- 2021.3.25 1.(四)局部函数——举例
- 2.递归函数
- 3.函数重载
- 2021.3.28 (五)1.递归函数——举例
- 2.类的创建
- 4.继承
- 5.封装
- 6.抽象类
2021.3.10(一)1.了解Java代码编译执行的过程。
(1)创建java类文件:
(2)要放置在对应包路径中
(3)编译
javac .\MyTest\com\mobile\MyTest.java
(4)创建清单文件,让java环境知道程序的入口
manifest
(5)打包
(6)运行
2.二维数组
3. 运算符
(1)算术运算符
±*/%,++,–
(2)赋值运算符
=,+=,-=,*=,、/=、%=
(3)比较运算符
==、!=、<、>、<=、>=
(4)逻辑运算符
! 、&&、 ||
4.字符串的操作
字符串定义:声明和初始化
字符串操作
(1)如何访问字符串中每一个字符?
(2)字符串的查找
(3)截取子串
(4)字符串替换
2021.3.11(二)1.字符串操作
(5)字符串分隔
(6)字符串去空格
【案例】
activity_main.xml
MainActivity.java
效果:
(7)字符串字面值
如果是类似于转义字符,还想原样输出,使用””””””
(8)模板表达式
2.语句结构
(1)选择结构
效果:
(2)分支结构
when(表达式/语句){
目标值1 -> 执行语句1
目标值2 -> 执行语句2
……
目标值n -> 执行语句n
else{
执行语句
}
}
【案例】输入1表示星期一,输入2表示星期二,类推。
activity_main.xml
MainActivity.kt
效果:
【训练】四季对应不同图片
【案例】点击楼号反馈楼的类型。
activity_main2.xml
MainActivity2.kt
效果:
完整代码:
效果:
【案例】when的简化写法
(3)循环语句
do…while
while
for
【案例】统计10个学生成绩
使用forEach循环语句
【案例】
使用forEachIndexed语句
【案例】
2.区间
(1)正向区间
起点数.rangeTo(终点数)
【案例】
(2)逆向区间
终点数.downTo(起点数)
【案例】
(3)区间并指定step
起点值…终点值
【案例】
3.类型转换
(1)类型判断
判断某某变量的类型是某某类型吗?
【案例】
(2)类型转换
2021.3.17(三)1.类型转换
as?表示如果转换失败,则返回null
2.空值处理
(1)可空类型变量->?
(2)安全调用符->?.
(3)空值默认值->?:
(4)非空断言->!!
断言,是不满足预期,发生异常
3.函数的定义
语法:
fun 函数名称(入参列表):返回类型{
函数体
}
【案例】输入5个数,使用数组保存,进行排序输出。
定义一个函数实现排序
activity_main2.xml
MainActivity2.kt
完整代码:
效果:
2021.3.18 1.函数的类型
(1)无入口参数无返回值
(2)无入口参数有返回值
(3)有入口参数无返回值
(4)有入口参数有返回值
2.单表达式函数
函数内部是一个表达式,也就是函数体只有一句执行语句。
3.函数的参数
(1)具名参数
(2)默认参数
(3)可变参数
注意,也可以向可变参数位置传入数组,但是需要加*
4.函数的分类
(1)顶层函数
创建一个函数可以在类之外,直接在某某包下。
【案例】在当前Activity创建顶层函数
(2)成员函数
(3)局部函数
语法:
fun 函数名(){
fun 函数名(){
}
}
【案例】
2021.3.25 1.(四)局部函数——举例
【案例】
activity_main.xml
MainActivity.kt
效果:
另一种写法:
2.递归函数
在函数内部自己调用自己
【案例】累加求和。
如果调用自身这个函数出现在函数最后一行,该递归函数称为“尾递归函数”,可以节约更多栈空间,效率更高。
3.函数重载
类似java方法重载
MainActivity2.kt
2021.3.28 (五)1.递归函数——举例
【案例】使用递归函数求一组数的最大值
效果:
2.类的创建
成员:字段、方法、构造方法
【案例】
activity_main.xml
MainActivity.kt
效果:
3.构造函数
包括:主构造函数和次构造函数
构造函数的重载,构造函数有多个版本。
【案例】
Student.kt
activity_main.xml
MainActivity.kt
日志:
4.继承
kotlin中对定义的类默认使用final进行修饰,也就是说修饰的类不能够被继承,如果需要继承,需要将父类前添加open关键字。子类继承时使用“:”表示继承。
【案例】
Student.kt
CollegeStudent.kt
activity_main.xml
MainActivity.kt
注意:子类showMsg()执行,父类showMsg()不执行
5.封装
对字段进行封装,添加一些业务逻辑。
【案例】
Book.kt
Cartoon.kt
activity_main.xml
MainActivity.kt
效果:
6.抽象类
是没有实现的类,不能实例化。为子类提供共同的约束。
【案例】
Animal.kt
Dog.kt
Cat.kt
MainActivity.kt
activity_main.xml
效果:
7.接口
关键字interface
也是对实现类的一种约定,不能实例化。接口的子类可以多重继承。
【案例】
IExchange.kt
IUsb.kt
Drive.kt
Phone.kt
MainActivity.kt
效果:
8.嵌套类
写在类的内部,但是该类不能访问外部类的成员。
9.内部类
写在类的内部,该类可以访问外部类的成员。需要添加关键字inner。
【案例】
MainActivity.kt
日志:
10.枚举类
关键字enum,划定一个取值范围,表示某某变量只能取这个范围内的值。
【案例】
Color.kt
MainActivity.kt
日志:
后续还有哦!评论点赞加关注,下次想看不迷路!
么么叽么么叽么么哒!
移动终端开发详解总结(一)(kotlin版)
上文链接
加油!要自己敲代码和练习哦!
移动终端开发详解总结(二)(kotlin版)| CSDN创作打卡相关推荐
- 《HTML5 canvas开发详解(第2版)》——1.9 HTML5 Canvas对象
本节书摘来自异步社区<HTML5 canvas开发详解(第2版)>一书中的第1章,第1.9节,作者: [美]Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社 ...
- 《HTML5 canvas开发详解(第2版)》——1.3 本书使用的基础HTML页面
本节书摘来自异步社区<HTML5 canvas开发详解(第2版)>一书中的第1章,第1.3节,作者: [美]Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社 ...
- 《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动
本节书摘来自异步社区<Linux 设备驱动开发详解(第2版)>一书中的第1章,第1.1节,作者:宋宝华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 L ...
- 分享《Linux设备驱动开发详解》第2版高清电子版
新浪微博:@宋宝华Barry 在@微盘 分享了<linux设备驱动开发详解>第2版1080P电子版,拟升级为第3版,3.16内核,Cortex-A9 SMP,Device tree, DV ...
- 酒店点餐系统开发详解(二)
酒店点餐系统开发详解 --系统分析 一个好的系统,必须要进行完善而且全面的系统分析.系统分析做好了,那就能够指导项目良好地发展下去.当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求 ...
- Linux设备驱动开发详解【二】_设备驱动相关硬件基础知识
本文简介 本文讲解底层驱动工程师必备的硬件基础,给出了嵌入式系统硬件原理及分析方法的全景视图. 2.1 节讲解微控制器.微处理器.数字信号处理器以及应用于特定领域的处理器各自的特点. ...
- HarmonyOS开发详解(二)——鸿蒙开发体系详解及入门实例演示运行
本篇文章的计划,先体系的介绍一下鸿蒙开发相关的体系内容,希望通过本篇内容构建对鸿蒙开发体系的了解,最后再来一个最简单入门例子.既是自我的学习,也希望对你了解鸿蒙开发的全貌有帮助. 这样安排而没有直接写 ...
- 数字音频总线A2B开发详解十二(A2B一Master板做音效处理-31段EQ,高中低音分频等)
作者的话 从板B上,我们把Master板上直通过来的音频信号,通过板子上的ADAU1761进行调音,可以让每一块从板都发出自己的声音,那么可不可以从源头,我们在Master上就把声音分配好,高音你去B ...
- FS_S5PC100平台上Linux Camera驱动开发详解(二)
http://blog.csdn.net/wh_19910525/article/details/18091915 这个问题弄清楚了以后下面就来看获得Camera信息以后如何做后续的处理: 在fimc ...
- DALSA网口线扫相机SDK开发详解例程(C#版)
首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...
最新文章
- Codeforces Round #409 (Div. 2) C Voltage Keepsake(二分)
- .net core ef mysql 的使用
- XV6陷入,中断和驱动程序
- MATLAB中施密特正交化的实现
- Python_二维数组
- python蒙特卡洛仿真_蒙特卡洛模拟Ising模型(附Python代码)
- Kali Linux学习之arp地址欺骗
- 实地测试电源模块性能
- html 密码不小于六位怎么设置,192.168.1.1登录入口要六位密码是多少?
- java虚拟机启动失败_Eclipse 启动提示java虚拟机启动失败
- 2021年实现团队成功的4步绩效管理周期
- 《三体》读后思考-泰勒展开/维度打击/黑暗森林
- 让电脑说话vbs程序
- UVALive - 4987 Evacuation Plan
- PostgreSQL行级安全策略RLS和数据加密
- 艾美捷ProSci丨ProSci 40S核糖体蛋白S19重组蛋白介绍
- 《洋妞》万像电影节揽四奖 或打造同名综艺节目
- 当部分地区电信运营商劫持页面,如何识别及解决
- 解谜2019文娱产业,猫眼的互联网升级方法论
- 计算机专业暑假计划,考研计算机:最适合复习的暑假黄金期来了
热门文章
- arm 开发环境搭建-基于QEMU和Docker
- 计算机知识与技能比赛活动总结,中职技能大赛总结(精选6篇)
- uni-app中配置微博分享相关信息
- 矩阵变换应用-分块矩阵
- 电脑桌面计算机图标下不显示文字,为什么电脑桌面上的图标文下面没有显文字...
- 北京科技大学计算机考研考试科目,2020考研北京科技大学计算机考研考试科目...
- HTML的文本格式标记
- CDH存在隐患 : 该角色的进程使用的交换内存为xx兆字节。警告阈值:200字节
- Peer Manager
- nvm use报错exit status 1解决方法