文章目录

  • 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创作打卡相关推荐

  1. 《HTML5 canvas开发详解(第2版)》——1.9 HTML5 Canvas对象

    本节书摘来自异步社区<HTML5 canvas开发详解(第2版)>一书中的第1章,第1.9节,作者: [美]Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社 ...

  2. 《HTML5 canvas开发详解(第2版)》——1.3 本书使用的基础HTML页面

    本节书摘来自异步社区<HTML5 canvas开发详解(第2版)>一书中的第1章,第1.3节,作者: [美]Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社 ...

  3. 《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动

    本节书摘来自异步社区<Linux 设备驱动开发详解(第2版)>一书中的第1章,第1.1节,作者:宋宝华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 L ...

  4. 分享《Linux设备驱动开发详解》第2版高清电子版

    新浪微博:@宋宝华Barry 在@微盘 分享了<linux设备驱动开发详解>第2版1080P电子版,拟升级为第3版,3.16内核,Cortex-A9 SMP,Device tree, DV ...

  5. 酒店点餐系统开发详解(二)

    酒店点餐系统开发详解 --系统分析 一个好的系统,必须要进行完善而且全面的系统分析.系统分析做好了,那就能够指导项目良好地发展下去.当然,系统分析需要以需求分析为基础,不过,在本项目中并未做仔细的需求 ...

  6. Linux设备驱动开发详解【二】_设备驱动相关硬件基础知识

    本文简介 本文讲解底层驱动工程师必备的硬件基础,给出了嵌入式系统硬件原理及分析方法的全景视图.         2.1 节讲解微控制器.微处理器.数字信号处理器以及应用于特定领域的处理器各自的特点. ...

  7. HarmonyOS开发详解(二)——鸿蒙开发体系详解及入门实例演示运行

    本篇文章的计划,先体系的介绍一下鸿蒙开发相关的体系内容,希望通过本篇内容构建对鸿蒙开发体系的了解,最后再来一个最简单入门例子.既是自我的学习,也希望对你了解鸿蒙开发的全貌有帮助. 这样安排而没有直接写 ...

  8. 数字音频总线A2B开发详解十二(A2B一Master板做音效处理-31段EQ,高中低音分频等)

    作者的话 从板B上,我们把Master板上直通过来的音频信号,通过板子上的ADAU1761进行调音,可以让每一块从板都发出自己的声音,那么可不可以从源头,我们在Master上就把声音分配好,高音你去B ...

  9. FS_S5PC100平台上Linux Camera驱动开发详解(二)

    http://blog.csdn.net/wh_19910525/article/details/18091915 这个问题弄清楚了以后下面就来看获得Camera信息以后如何做后续的处理: 在fimc ...

  10. DALSA网口线扫相机SDK开发详解例程(C#版)

    首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...

最新文章

  1. Codeforces Round #409 (Div. 2) C Voltage Keepsake(二分)
  2. .net core ef mysql 的使用
  3. XV6陷入,中断和驱动程序
  4. MATLAB中施密特正交化的实现
  5. Python_二维数组
  6. python蒙特卡洛仿真_蒙特卡洛模拟Ising模型(附Python代码)
  7. Kali Linux学习之arp地址欺骗
  8. 实地测试电源模块性能
  9. html 密码不小于六位怎么设置,192.168.1.1登录入口要六位密码是多少?
  10. java虚拟机启动失败_Eclipse 启动提示java虚拟机启动失败
  11. 2021年实现团队成功的4步绩效管理周期
  12. 《三体》读后思考-泰勒展开/维度打击/黑暗森林
  13. 让电脑说话vbs程序
  14. UVALive - 4987 Evacuation Plan
  15. PostgreSQL行级安全策略RLS和数据加密
  16. 艾美捷ProSci丨ProSci 40S核糖体蛋白S19重组蛋白介绍
  17. 《洋妞》万像电影节揽四奖 或打造同名综艺节目
  18. 当部分地区电信运营商劫持页面,如何识别及解决
  19. 解谜2019文娱产业,猫眼的互联网升级方法论
  20. 计算机专业暑假计划,考研计算机:最适合复习的暑假黄金期来了

热门文章

  1. arm 开发环境搭建-基于QEMU和Docker
  2. 计算机知识与技能比赛活动总结,中职技能大赛总结(精选6篇)
  3. uni-app中配置微博分享相关信息
  4. 矩阵变换应用-分块矩阵
  5. 电脑桌面计算机图标下不显示文字,为什么电脑桌面上的图标文下面没有显文字...
  6. 北京科技大学计算机考研考试科目,2020考研北京科技大学计算机考研考试科目...
  7. HTML的文本格式标记
  8. CDH存在隐患 : 该角色的进程使用的交换内存为xx兆字节。警告阈值:200字节
  9. Peer Manager
  10. nvm use报错exit status 1解决方法