Android基础--kotlin(一)

简介: kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势1. 简洁它大大减少你需要写的样板代码的数量。2. 安全避免空指针异常等整个类的错误。3. 通用构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。4. 互操作性通过 100% Java 互操作性(100%兼容),可可以直接调用Java代码,可以无缝使用Java库。

1.什么是Kotlin?


kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势

1. 简洁

它大大减少你需要写的样板代码的数量。

2. 安全

避免空指针异常等整个类的错误。

3. 通用

构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。

4. 互操作性

通过 100% Java 互操作性(100%兼容),可可以直接调用Java代码,可以无缝使用Java库。


2.如何构建项目?


因为开发常用,所以我用的Android Studio,其实IDEA也很好使。


File -->New Project -->Language(随意选,在java项目里也可以新建kotlin文件并使用)


选中某个文件,右键新建kotlin文件

db4788a6183829dec33d73e4313ad59.png



新建后,编写以下代码:


package com.fw.zzrun.user.fragment
fun main(){
    println("hello 二狗")
}

选中当前文件,右键运行:

5c03d007f5ee960b1f7bf9139a36ee8.png



结果:


bf7669b82e31b7f7afb3d2f01ce5750.png


3.变量和函数


3.1 变量



val (value的缩写)  不可变的变量,对于Java中的final常量


var(variable的缩写)可变的变量,对应Java中的非final的变量


fun main (){
    val a=10
    println("a="+a)
}
输出为10
fun main (){
    val a=10
     a=a*10
    println("a="+a*10)
}

这样对不可变量a重新赋值是不可以的,会报错哟!


tips:


1.kotlin语句不需要加分号哦~~


2.kotlin拥有类型推导机制


3.kotlin完全抛弃了基本数据类型,全部使用了对象数据类型(与八大基本数据类型一样,就是首字母大写而已。)


3.2 函数



fun methodGod(param1 :Int,param2 :Int):Int {
    return 0
}

fun是定义函数的关键字,必须拿着;

methodDog是函数名,随便你写啥;

(param1 :Int,param2 :Int)是函数里面的参数 声明格式(参数名 :参数类型)

参数括号的Int用于声明返回返回什么类型的数据,这儿返回整型数据

语法糖

语法糖

类的简化,隐式getter()、setter()

接口的默认实现

lambda与高阶函数

空指针安全,编译时期的空指针检查

流式集合操作 map(), forEach()

新特性

函数拓展、属性拓展

属性代理


相关文章
|
4月前
|
设计模式 Android开发 Kotlin
Android经典实战之Kotlin委托模式和by关键字
本文介绍了Kotlin中`by`关键字在类及属性委托中的运用,通过实例展示了如何利用类委托简化接口实现,以及如何借助标准与自定义属性委托管理属性的读写操作。通过`by`关键字的支持,Kotlin使得委托模式的实现更为直观且高效。
98 4
|
4月前
|
缓存 安全 Android开发
Android经典实战之用Kotlin泛型实现键值对缓存
本文介绍了Kotlin中泛型的基础知识与实际应用。泛型能提升代码的重用性、类型安全及可读性。文中详细解释了泛型的基本语法、泛型函数、泛型约束以及协变和逆变的概念,并通过一个数据缓存系统的实例展示了泛型的强大功能。
45 2
|
3月前
|
Android开发 Kotlin
Android经典面试题之Kotlin的==和===有什么区别?
本文介绍了 Kotlin 中 `==` 和 `===` 操作符的区别:`==` 用于比较值是否相等,而 `===` 用于检查对象身份。对于基本类型,两者行为相似;对于对象引用,`==` 比较值相等性,`===` 检查引用是否指向同一实例。此外,还列举了其他常用比较操作符及其应用场景。
194 93
|
4月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
129 0
|
2月前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
36 1
|
2月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
63 4
|
2月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
33 1
|
2月前
|
Android开发 Kotlin
Android面试题之Kotlin中如何实现串行和并行任务?
本文介绍了 Kotlin 中 `async` 和 `await` 在并发编程中的应用,包括并行与串行任务的处理方法。并通过示例代码展示了如何启动并收集异步任务的结果。
34 0
|
2月前
|
Java 调度 Android开发
Android面试题之Kotlin中async 和 await实现并发的原理和面试总结
本文首发于公众号“AntDream”,详细解析了Kotlin协程中`async`与`await`的原理及其非阻塞特性,并提供了相关面试题及答案。协程作为轻量级线程,由Kotlin运行时库管理,`async`用于启动协程并返回`Deferred`对象,`await`则用于等待该对象完成并获取结果。文章还探讨了协程与传统线程的区别,并展示了如何取消协程任务及正确释放资源。
38 0
|
3月前
|
安全 Android开发 开发者
探索安卓开发的未来:Kotlin的崛起与Flutter的挑战
在移动开发的广阔天地中,安卓平台始终占据着举足轻重的地位。随着技术的不断进步和开发者需求的多样化,Kotlin和Flutter成为了改变游戏规则的新玩家。本文将深入探讨Kotlin如何以其现代化的特性赢得开发者的青睐,以及Flutter凭借跨平台的能力如何挑战传统的安卓开发模式。通过实际案例分析,我们将揭示这两种技术如何塑造未来的安卓应用开发。
84 6