(1)创建java类文件:
(2)要放置在对应包路径中
(3)编译
javac .\MyTest\com\mobile\MyTest.java
(4)创建清单文件,让java环境知道程序的入口
(1)算术运算符
±*/%,++,–
(2)赋值运算符
=,+=,-=,*=,、/=、%=
(3)比较运算符
==、!=、<、>、<=、>=
(4)逻辑运算符
! 、&&、 ||
字符串定义:声明和初始化
字符串操作
(1)如何访问字符串中每一个字符?
(2)字符串的查找
(3)截取子串
(4)字符串替换
(5)字符串分隔
(6)字符串去空格
【案例】
activity_main.xml
效果:
(7)字符串字面值
如果是类似于转义字符,还想原样输出,使用””””””
(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语句
【案例】
(1)正向区间
起点数.rangeTo(终点数)
【案例】
(2)逆向区间
终点数.downTo(起点数)
【案例】
(3)区间并指定step
起点值…终点值
【案例】
(1)类型判断
判断某某变量的类型是某某类型吗?
【案例】
(2)类型转换
(1)可空类型变量->?
(2)安全调用符->?.
(3)空值默认值->?:
(4)非空断言->!!
断言,是不满足预期,发生异常
语法:
fun 函数名称(入参列表):返回类型{
函数体
}
【案例】输入5个数,使用数组保存,进行排序输出。
定义一个函数实现排序
activity_main2.xml
MainActivity2.kt
完整代码:
效果:
(1)无入口参数无返回值
(2)无入口参数有返回值
(3)有入口参数无返回值
(4)有入口参数有返回值
(1)具名参数
(2)默认参数
(3)可变参数
注意,也可以向可变参数位置传入数组,但是需要加*
(1)顶层函数
创建一个函数可以在类之外,直接在某某包下。
【案例】在当前Activity创建顶层函数
(2)成员函数
(3)局部函数
语法:
fun 函数名(){
fun 函数名(){
【案例】
activity_main.xml
MainActivity.kt
效果:
另一种写法:
在函数内部自己调用自己
【案例】累加求和。
如果调用自身这个函数出现在函数最后一行,该递归函数称为“尾递归函数”,可以节约更多栈空间,效率更高。
成员:字段、方法、构造方法
【案例】
activity_main.xml
MainActivity.kt
效果:
3.构造函数
包括:主构造函数和次构造函数
构造函数的重载,构造函数有多个版本。
【案例】
Student.kt
activity_main.xml
MainActivity.kt
日志:
kotlin中对定义的类默认使用final进行修饰,也就是说修饰的类不能够被继承,如果需要继承,需要将父类前添加open关键字。子类继承时使用“:”表示继承。
【案例】
Student.kt
CollegeStudent.kt
activity_main.xml
MainActivity.kt
注意:子类showMsg()执行,父类showMsg()不执行
对字段进行封装,添加一些业务逻辑。
【案例】
Book.kt
Cartoon.kt
activity_main.xml
MainActivity.kt
效果:
是没有实现的类,不能实例化。为子类提供共同的约束。
【案例】
Animal.kt
Dog.kt
Cat.kt
MainActivity.kt
activity_main.xml
效果:
7.接口
关键字interface
也是对实现类的一种约定,不能实例化。接口的子类可以多重继承。
【案例】
IExchange.kt
IUsb.kt
Drive.kt
Phone.kt
MainActivity.kt
效果:
8.嵌套类
写在类的内部,该类可以访问外部类的成员。需要添加关键字inner。
【案例】
MainActivity.kt
日志:
10.枚举类
关键字enum,划定一个取值范围,表示某某变量只能取这个范围内的值。
【案例】
Color.kt
MainActivity.kt
日志:
后续还有哦!评论点赞加关注,下次想看不迷路!
么么叽么么叽么么哒!
移动终端开发详解总结(一)(kotlin版)
上文链接
加油!要自己敲代码和练习哦!