日志工具和kotlin语法——客户端开发学习 | 青训营笔记

173 阅读2分钟

image.png

这是我参与「第四届青训营 」笔记创作活动的的第2天

我使用的教材是《第一行代码》,感谢开放的互联网。

本篇内容包含:日志工具的概念知识和使用练习,以及kotlin的大部分基础语法特性


【日志工具的使用

工具类Log(andriod.util.Log):

  • Log.v()->级别最低,对应verbose
  • d->debug,调试信息,分析问题
  • i->info,分析用户行为
  • w->warn
  • e->error

尝试日志工具

image.png

logcat过滤器尝试

image.png

logcat日志级别

image.png

【kotlin语言认识——杜绝空指针

image.png

运行结果:

image.png

知识点:

  • 每一行代码不用加分号;
  • 出色的类型推导机制;
  • 对象数据类型;
  • 语法糖:

fun largerNumber(num1: Int, num2: Int) = max(num1, num2)

变量

  • val->不可变量
  • var->可变

延迟赋值出错时可用解决办法:val a: Int = 10

函数

函数=方法

函数定义:

fun methodName(param1: Int, param2: Int): Int{//最后一个Int表示返回值类型,没有可不写
return 0
}

代码提示中选择函数模板后,还会自动导包。

image.png

运行结果: image.png

逻辑控制

  • 条件语句:if, when

if可以有返回值,为为真条件中最后一行代码的返回值。

when:匹配值 -> {执行逻辑}; 可以做类型匹配。

  • 循环语句:while, for

概念: 区间
语法:val a = 0..10 表示[0, 10]

for-in语法常用: for(i in 0 until 10 step 2){}

输出:0,2,4,6,8

//0 until 10 =[0, 10)

// 10 downTo 0 = [10, 1)

面向对象编程

类与对象

继承与构造函数

继承手段:

1.class className{} -> open class className{}

2.class childClass: className(){}

构造函数:

  • 主构造函数:没有函数体,但可用init调用逻辑
  • 次构造函数:关键字comstructor,类似c++接受不完整信息时设置默认值的操作

接口

用法类似类对象:yourObjectName: interfaceName

使用类似继承,但是不带括号()的可以有多个接口

关键字: interface

可见性

  • public->所有类对象
  • protected->当前类,子类可见
  • private->当前类对象
  • internal->同一模块中的类可见

数据类与单例类

数据类关键字: data

数据类可被直接println

单例类关键字:object