网站全是乱码舆情处置的五个步骤

当前位置: 首页 > news >正文

网站全是乱码,舆情处置的五个步骤,做语文题的网站,联合实验室 网站建设方案一、Kotlin类型 1.整数 2.浮点 显示转换#xff1a; 所有数字类型都支持转换为其他类型#xff0c;但是转换前会检测长度。 toByte(): Byte toShort(): Short toInt(): Int toLong(): Long toFloat(): Float toDouble(): Double 不同进制的数字表示方法#xff08;为了提高…一、Kotlin类型 1.整数 2.浮点 显示转换 所有数字类型都支持转换为其他类型但是转换前会检测长度。 toByte(): Byte toShort(): Short toInt(): Int toLong(): Long toFloat(): Float toDouble(): Double 不同进制的数字表示方法为了提高代码的可读性可维护性Kotlin不支持八进制 十进制: 123 十六进制: 0x0F 0x8C 二进制: 0b 0000 1011 Kotlin支持数字运算的标准集、 -、 *、 /、 %等。它们已定义为相应的函数 fun main() { println(1 2) println(2_500_000_000L - 1L) println(3.14 * 2.71) println(10.0 / 3) }整数间的除法永远返回整数除非其中一个整数显式地转换为浮点数 3.布尔 4.字符 5.字符串 6.字符串模板与格式化输出  1使用美元符号 val name Alice val age 30 val message Hello, my name is \({name} and I am \){age} years old.“ print(message) 2使用百分号格式化字符串输出 val number 123.456 println(Formatted number:%.2f.format(number)) 3使用String.format()函数 val name Bob val age 25 val formattedString String.format(Name: %s, Age: %d, name, age) 7.数组Array Kotlin 中的数组是一种用于存储相同类型元素的集合。它允许按顺序存储元素并通过索引来访问这些元素。Kotlin 提供了两种类型的数组原生数组和 Kotlin 数组。 1Kotlin数组使用arrayOf创建 val array arrayOf(1,2,3,4,5) // 创建一个包含整数的Kotlin数组 2原生数组不同类型使用不同的创建方法 val intArray IntArray(5) // 创建一个包含5个整数的原生数组默认初始值为0 8.集合 由于数组存在上述限制因此一般仅在需要自定义数据结构时或对访问性能有要求时才会使用数组。其余情况下Kotlin中推荐使用“集合”List Set Map List列表List 是一种有序集合允许包含重复元素。Kotlin 中的 List 接口有多个实现类如 ArrayList、LinkedList 等。 Set集Set 是一种不包含重复元素的集合元素之间没有明确的顺序。Kotlin 中的 Set 接口有多个实现类如 HashSet、LinkedHashSet、SortedSet 等。 Map映射Map 是一种键值对的集合每个键都唯一对应一个值。Kotlin 中的 Map 接口有多个实现类如 HashMap、LinkedHashMap、TreeMap 等。 集合的创建方式 1有初始值 val list listOf(1,2,3,4,5) // 创建一个不可变的List val mutableList mutableListOf(1,2,3,4,5)  // 创建一个可变的List val set setOf(1,1,1,2,3) // 创建一个不可变的Set val mutableSet mutableSetOf(1,2,3,4,5) // 创建一个可变的Set val map mapOf(1 to one,2 to two,3 to three) // 创建一个不可变的Map val mutableMap mutableMapOf(1 to one,2 to two,3 to three) // 创建一个可变的Map 2使用构造函数 val list  ArrayListInt() // 创建一个空的ArrayList val set HashSetString() // 创建一个空的HashSet val map HashMapInt,String() // 创建一个空的HashMap 添加元素 list.add(1) set.add(hello) map[1] one 9.检测与转换 1is操作符 2as操作符 二、Kotlin控制流程

  1. if 表达式 2.When表达式 3.For循环 4.While循环 5.异常 三、Kotlin类与对象 1.类 2.构造函数 Kotlin中的构造函数用法与Java类似但是在结构上有较大的不同。 1主构造函数与初始化块 2次构造函数 3.继承 在 Kotlin 中所有类都有一个共同的超类 Any对于没有超类型声明的类它是默认超类 class Example // 从 Any 隐式继承 Any 有三个方法equals()、 hashCode() 与 toString() 因此为所有 Kotlin 类都定义了这些方法。默认情况下Kotlin 类是最终final的——它们不能被继承。 要使一个类可继承需用 open 关键字标记它 open class Base // 该类开放继承 如需声明一个显式的超类型需把超类型放到冒号之后 open class Base(p: Int) class Derived(p: Int) : Base(p) 继承与构造函数 方法与属性的覆盖 四、Kotlin协程 1.Kotlin 中的协程Coroutines是一种轻量级的线程模型用于简化异步编程。它们提供了一种在代码中以顺序、可读的方式表达并发性的方法而无需使用传统的回调函数或显式的线程管理。  主线程安全在安卓开发中需要确保 UI 操作只在主线程UI 线程中执行。协程提供了与主线程进行交互的便捷方式使得可以异步执行耗时操作文件处理、网络通信并在必要时切换到主线程更新 UI。 简化异步编程 使用协程可以使异步编程变得更简洁、易读和易维护。相比于传统的回调函数或者使用异步任务AsyncTask等方式协程提供了更加顺序、自然的编码方式避免了回调地狱callback hell的问题。同时协程相较于线程更加轻量和灵活。 进程、线程和协程三者之间的关系如图所示 2.基本概念 1协程作用域Coroutine Scope协程的生命周期。 协程作用域定义了协程的生命周期和执行范围。常见的协程作用域如下 a.全局作用域Global Scope该协程的生命周期与整个应用程序的生命周期相同。对应类GlobalScope。例如我们在全局作用域的协程内编写了一个无限循环代码则该代码只有在应用程序退出后才会结束。或者手动调用了该协程的取消函数。 b.局部作用域Local Scope该协程的应用周期和应用程序中的某个模块或对象的生命周期相同。对应类lifecycleScopeviewModelScope。例如如果在某个activity中开辟了一个协程则该协程的生命周期与该activity相同那么当我们在这个协程中进行网络请求如果activity被销毁则该网络请求会被立即终止。 2协程上下文Coroutine Context协程的执行环境例如调度器。 协程上下文确定了协程的运行环境。几个关键元素如下 a.调度器Dispatcher决定了协程运行在哪个线程上。例如 Dispatchers.Main 会将协程调度到主线程用于UI更新Dispatchers.IO 会将协程调度到 IO 线程池用于磁盘和网络IO操作。 b.作业Job用于管理协程的生命周期可以取消或等待协程执行完毕。 c.异常处理器Exception Handler用于捕获协程中抛出的未捕获的异常并进行处理。 d.协程名称Coroutine Name用于标识协程的名称便于调试和日志记录。 3协程构建器Coroutine Builder用于启动协程。 协程构建器确定了协程的启动方式。最常见的两种启动方式如下 a. launch 在 CoroutineScope 中启动一个新的协程但不会阻塞当前线程。launch 返回一个 Job 实例可以用于管理协程的生命周期如取消协程。适用于不需要从协程中返回结果的并发任务。 b. asyncasync 旨在执行需要返回结果的并发操作。它返回一个 Deferred 对象该对象是 Job 的子类可以用来获取协程的结果。适用于需要从协程中返回结果的并发任务。