(2)日志工具和kotlin语法——客户端开发学习

在这里插入图片描述

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

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


【日志工具的使用

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

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

尝试日志工具

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOLsmIa7-1661070071714)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba2b6be9a6464031b3d0af06757128e9~tplv-k3u1fbpfcp-watermark.image?)]

logcat过滤器尝试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KgC36QA-1661070071717)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e8d899a09c6448c5b7d80a93511e08b9~tplv-k3u1fbpfcp-watermark.image?)]

logcat日志级别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qNEOORrt-1661070071721)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cd3c5a2ba7a64a74bd3bd95fe5248da2~tplv-k3u1fbpfcp-watermark.image?)]


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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Lno4SI6-1661070071727)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3d578789975546e09c355e85cf5fb406~tplv-k3u1fbpfcp-watermark.image?)]

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCgTzMzB-1661070071729)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f77cf464fd8c44789c40f03e2b02fade~tplv-k3u1fbpfcp-watermark.image?)]


知识点:

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

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
}

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vQ4JfNt4-1661070071731)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7696caee28634ca7a4c56878cd02a507~tplv-k3u1fbpfcp-watermark.image?)]

运行结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lKnpDpDk-1661070071733)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6e02a292f05145149fbf465fe8d6ec83~tplv-k3u1fbpfcp-watermark.image?)]

逻辑控制

  • 条件语句: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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值