Kotlin学习笔记(一)

过去与现在

我开发Android的IDE从Eclipse过渡到Android Studio。
现在连编程语言也是将要从Java变到了Kotlin了。
现在时代和技术不断在变,Google亲儿子语言Kotlin的诞生,到现在也逐渐壮大,官网(http://kotlinlang.org/)的介绍也是吊炸天,不过和Java100%兼容还是不错的。

只能力求Kotlin牛逼一点,带我飞,面向的开发领域在突出点。否则你的Dad会离你而去。

现在互联网资源这么发达,我的英语水平这么差,所以为了及时快速的学习,我会首选菜鸟教程把知识点都挨个儿的过一遍,在去有翻译的中文文档去过一遍,再去官方社区遨游一下。

一、初试main()函数:

fun main(args : Array<String>){
    print("love 杜姝燕")
}

二、初试面向对象示例:

fun main(args : Array<String>){
    print("love 杜姝燕")
    Greeter("dushuyan").greet("nv")
}

class Greeter(val name: String) {
    fun greet(sex:String) {
        println("Hello, $name"+sex)
    }
}

三、安慰自己的一些优点:
简洁:    大大减少样板代码的数量。
安全:    避免空指针异常等整个类的错误。
互操作性: 充分利用 JVM、Android 和浏览器的现有库。
工具友好: 可用任何 Java IDE 或者使用命令行构建。

四、该改口了 叫函数 , 也没有封号

fun sum(a : Int,b : Int):Int{
    return a+b
}

简写函数 感觉写出来还是比较清晰

public fun sum(a: Int, b: Int): Int = a + b 

五、函数写法(有返回、无返回)
1、有返回参数的函数

*需要注意返回类型

public fun orint(a:String):String{
    return a
}

2、无返回参数的函数

var b =1
public fun orint(a:String){
    b=3
    println(b.toString()+a)
}

六、Var 和 Val 的区别,如何使用:

1、Var 是定义变量的,需要赋值初始值
2、Val 是定义常量的,只能赋值一次

七、NULL空检查机制
在类型声明之后写 ?

var a: Int? = 123321 

比如方法返回可能是返回一个NULL类型,参数声明需要标记?

fun orint(a:String?):String?{
    return a
}

八、Any 、 is 、 .. 、step 、downTo 、until

Any 就像是上帝Object
is 就像是instance
.. 就像是 in
step 步进值
downTo 从大到小
until 区间不包括 [1,2)

for (i in 1..1) print(i)
输出结果: 1

for (i in 1..4) print(i)
输出结果: 1234

for (i in 4..1) print(i)
无输出结果

for (i in 4 downTo 1) print(i)
输出结果:4321

指定步长—step
for (i in 1..4 step 2) print(i)
输出结果:13

for (i in 4 downTo 1 step 2) print(i)
输出结果:42

使用 until 函数排除结束元素
i in [1, 10) 排除了 10
for (i in 1 until 10) {
println(i)
}

九、基本数据类型
1、虽然在写程序的时候并不需要声明类型,但是内部还是有划分基本类型的。
包括:Byte、Short、Int、Long、Float 、Double

在复制的时候,可以用下划线“_”来间隔基本数据类型,这个我是第一次见啊

==是比较值
===是比较对象地址

2、类型转化 暴力强转

val a : Byte = 1
val b : Int = b.toInt()

3、数组Array
Array、ByteArray 、ShortArray 、IntArray
数组是不可变的,但是有size、set、get方法

    var v = arrayOf(1,2)
    v.set(0,3)

    for (i:Int in v){
        print(i)
    }

4、字符串
“”” “”“三个双引号的使用

    var infoStr : String ="""
        网速不好
        因为
        爱意很浓
    """.trimIndent()

    print(infoStr)

*字符串模板 ($)把结果合并到字符串中,用“{ }”可以执行方法,

  var core:String = "1234"

  println("$core"+"\n123"+"\n${core.length}"+"\n${'$'}") 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Android 的基本概念 Android 是一个开源的操作系统,主要用于移动设备,如智能手机、平板电脑等。它基于 Linux 内核,提供了丰富的应用程序框架和 API,支持多种开发语言,如 Java、C/C++、Kotlin 等。 Android 应用程序由多个组件组成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)等。这些组件可以组合在一起,形成复杂的应用程序。 2. Android 应用程序开发 Android 应用程序开发主要使用 Java 编程语言和 Android SDK。开发工具包括 Android Studio、Eclipse 等。 Android 应用程序的结构包括布局文件、资源文件、Java 代码和清单文件等。布局文件用于定义应用程序的用户界面,资源文件包括图像、声音、样式、主题等,Java 代码实现应用程序的逻辑,清单文件描述应用程序的组件和权限等信息。 3. Android 应用程序的调试和测试 Android 应用程序的调试和测试可以使用 Android Studio 提供的调试工具,包括断点调试、日志记录等。还可以使用模拟器或真实设备进行测试。 4. Android 应用程序的发布 发布 Android 应用程序需要进行签名和打包操作,签名用于验证应用程序的身份和完整性,打包将应用程序打包成 APK 文件,可以上传到应用商店进行发布。 5. Android 应用程序的优化 Android 应用程序的优化包括优化布局、资源、代码和网络等方面,以提高应用程序的性能和用户体验。其中,布局优化包括使用布局最优化算法、使用自定义视图等;资源优化包括压缩资源、使用向量图形等;代码优化包括使用异步任务、使用缓存等;网络优化包括使用数据压缩、使用本地存储等。 6. Android 开发的挑战 Android 开发面临的挑战包括设备碎片化、安全问题、性能问题等。设备碎片化指的是不同设备的屏幕尺寸、分辨率、操作系统版本等不同,需要对应用程序进行适配;安全问题指的是应用程序需要保证用户数据的安全和隐私;性能问题指的是应用程序需要保证快速响应和流畅运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值